#include <pspsdk.h>
#include "vshmain.h"

/*
 * Imports from library: sceNet
 */
extern int sceNet_39AF39A6 (int arg1, int arg2, int arg3, int arg4, int arg5);
extern int sceNet_281928A9 ();

/*
 * Imports from library: sceNetInet
 */
extern int sceNetInet_17943399 ();
extern int sceNetInet_A9ED66B9 ();

/*
 * Imports from library: sceNetApctl
 */
extern int sceNetApctl_E2F91F9B (int arg1, int arg2);
extern int sceNetApctl_B3EDD0EC ();

/*
 * Imports from library: sceNetAdhocctl
 */
extern int sceNetAdhocctl_E26F226E (int arg1, int arg2, int arg3);
extern int sceNetAdhocctl_9D689E13 ();

/*
 * Imports from library: sceResmgr
 */
extern int sceResmgr_9DC14891 (int arg1, int arg2, int arg3);

/*
 * Imports from library: sceReg
 */
extern int sceReg_DEDA92BF (int arg1);

/*
 * Imports from library: sceRtc
 */
extern int sceRtc_3F7AD767 (int arg1);

/*
 * Imports from library: sceVshBridge
 */
extern int sceVshBridge_A5628F0D (int arg1, int arg2, int arg3);
extern int sceVshBridge_5C2983C2 (int arg1, int arg2);
extern int sceVshBridge_61001D64 (int arg1);
extern void sceVshBridge_C949966C (int arg1);
extern void sceVshBridge_5D4213EA (int arg1);
extern void sceVshBridge_C6395C03 (int arg1, int arg2);
extern void sceVshBridge_0E10922A (int arg1);
extern void sceVshBridge_4A596D2D (int arg1, int arg2);
extern int sceVshBridge_2380DC08 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6);
extern int sceVshBridge_4DB43867 (int arg1, int arg2, int arg3, int arg4);
extern int sceVshBridge_CE32CBEF ();
extern void sceVshBridge_E5DA5E95 ();
extern int sceVshBridge_6CAEB765 (int arg1);
extern int sceVshBridge_53BFD101 (int arg1);
extern void sceVshBridge_CBDA2613 ();
extern void sceVshBridge_A7F0E8E0 ();
extern void sceVshBridge_B7C46DCA (int arg1, int arg2);
extern void sceVshBridge_F4873F4D (int arg1, int arg2);
extern void sceVshBridge_83528906 (int arg1, int arg2, int arg3);
extern void sceVshBridge_F35BFB7D (int arg1, int arg2);
extern void sceVshBridge_97FB006F (int arg1, int arg2);
extern void sceVshBridge_029EF6C9 (int arg1, int arg2);
extern void sceVshBridge_40716012 (int arg1);
extern int sceVshBridge_74DA9D25 (int arg1, int arg2);

/*
 * Imports from library: sceVshCommonGui
 */
extern void sceVshCommonGui_A1C3DDD6 ();
extern void sceVshCommonGui_614630E6 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7);
extern void sceVshCommonGui_C5B53362 ();
extern void sceVshCommonGui_607D5C82 (int arg1, int arg2, int arg3);
extern void sceVshCommonGui_72E652AA (int arg1);
extern int sceVshCommonGui_1A6F3382 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7);
extern void sceVshCommonGui_441D55D7 (int arg1);
extern void sceVshCommonGui_54BC644C (int arg1, int arg2);
extern void sceVshCommonGui_7C7B935B (int arg1);
extern int sceVshCommonGui_F7A03543 ();
extern void sceVshCommonGui_566AA22F (int arg1, int arg2, int arg3);
extern void sceVshCommonGui_9FAA1BC2 ();
extern void sceVshCommonGui_4016357A (int arg1);
extern void sceVshCommonGui_01B60A5C (int arg1);
extern void sceVshCommonGui_5D36BCE6 ();
extern void sceVshCommonGui_61A1FA3A (int arg1);
extern void sceVshCommonGui_1BCCB74A (int arg1);
extern void sceVshCommonGui_FA9B7ABD ();
extern void sceVshCommonGui_B97EAE7A (int arg1, int arg2, int arg3);
extern void sceVshCommonGui_C4D809CB (int arg1, int arg2, int arg3);
extern void sceVshCommonGui_72C75A14 (int arg1, int arg2);
extern void sceVshCommonGui_5074C948 (int arg1, int arg2, int arg3);
extern void sceVshCommonGui_F4FD56D2 ();
extern void sceVshCommonGui_16DA723A ();
extern void sceVshCommonGui_35E7A91E (int arg1, int arg2, int arg3, int arg4);
extern void sceVshCommonGui_57F57F40 (int arg1);
extern void sceVshCommonGui_8A029A78 (int arg1, int arg2, int arg3);
extern void sceVshCommonGui_A939DDF9 (int arg1, int arg2);
extern void sceVshCommonGui_891E0954 ();
extern void sceVshCommonGui_68778E5A ();

/*
 * Imports from library: sceVshCommonUtil
 */
extern void sceVshCommonUtil_BFC546B6 (int arg1, int arg2, int arg3);
extern void sceVshCommonUtil_7EEFA381 (int arg1, int arg2);
extern void sceVshCommonUtil_5A3449D5 (int arg1);
extern int sceVshCommonUtil_C403411C (int arg1, int arg2);
extern void sceVshCommonUtil_B48D135B (int arg1, int arg2);
extern int sceVshCommonUtil_63FFE887 (int arg1, int arg2, int arg3);
extern int sceVshCommonUtil_28B6AD3B (int arg1, int arg2, int arg3);
extern void sceVshCommonUtil_2ACAD845 (int arg1, int arg2);
extern void sceVshCommonUtil_98E57F6D (int arg1);
extern int sceVshCommonUtil_3088B748 (int arg1, int arg2, int arg3, int arg4);
extern int sceVshCommonUtil_EE5869D8 (int arg1, int arg2, int arg3, int arg4);
extern int sceVshCommonUtil_81B52E61 (int arg1);
extern void sceVshCommonUtil_9E7D761E (int arg1, int arg2);
extern void sceVshCommonUtil_0F553311 (int arg1);
extern void sceVshCommonUtil_EDED68FB ();
extern int sceVshCommonUtil_2D564AF6 (int arg1, int arg2, int arg3);
extern int sceVshCommonUtil_6B332472 (int arg1, int arg2, int arg3, int arg4, int arg5);
extern int sceVshCommonUtil_F857F095 (int arg1, int arg2, int arg3);
extern int sceVshCommonUtil_B6E7804E (int arg1, int arg2);
extern int sceVshCommonUtil_E55CADD9 (int arg1, int arg2);
extern int sceVshCommonUtil_58234CB0 (int arg1);
extern void sceVshCommonUtil_FA969B6A (int arg1, int arg2);
extern void sceVshCommonUtil_D4D66154 (int arg1);
extern void sceVshCommonUtil_107EDCD9 ();

/*
 * Imports from library: scePaf
 */
extern void scePaf_C9831AFF (int arg1, int arg2, int arg3, int arg4);
extern int scePaf_5FAC9869 (int arg1);
extern int scePaf_FCB4E053 (int arg1);
extern void scePaf_26DE971C ();
extern void scePaf_613E9AA2 ();
extern void scePaf_545FE2DA (int arg1);
extern void scePaf_7EC15225 (int arg1);
extern int scePaf_FD4C9F47 (int arg1);
extern void scePaf_F95EA3F1 (int arg1, int arg2, int arg3);
extern void scePaf_6829D7AF (int arg1, int arg2, int arg3);
extern int scePaf_CA79D58B (int arg1);
extern int scePaf_66FE90D7 (int arg1, int arg2);
extern void scePaf_980228BA (int arg1, int arg2);
extern void scePaf_296897BC ();
extern void scePaf_DEDF238F ();
extern void scePaf_7BED034E ();
extern void scePaf_B3D58D25 ();
extern void scePaf_44AAF96C ();
extern void scePaf_FF2F98C6 (int arg1, int arg2, int arg3);
extern void scePaf_71712601 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_71460F7C ();
extern int scePaf_ABBBB335 (int arg1, int arg2);
extern void scePaf_F1552447 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_83944053 (int arg1);
extern int scePaf_2FDC80B3 (int arg1, int arg2);
extern int scePaf_F0B4CAE7 (int arg1, int arg2, int arg3);
extern void scePaf_3DD2A27B ();
extern int scePaf_3586BE05 (int arg1, int arg2);
extern void scePaf_3FBD9639 ();
extern void scePaf_10B901E7 ();
extern void scePaf_809A4F83 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_A82E3C19 (int arg1);
extern int scePaf_B7E6052B (int arg1);
extern int scePaf_F13EBB78 (int arg1);
extern void scePaf_4E67BB08 (int arg1);
extern void scePaf_B3D2C3BB (int arg1);
extern int scePaf_962FA087 ();
extern void scePaf_D4C6CC7A (int arg1);
extern void scePaf_927854C5 (int arg1, int arg2, int arg3);
extern void scePaf_D02C0D2E (int arg1, int arg2, int arg3);
extern void scePaf_F47CA1C2 (int arg1, int arg2, int arg3, int arg4);
extern int scePaf_EAA5AFF6 (int arg1, int arg2);
extern void scePaf_A69BABE3 (int arg1, int arg2, int arg3);
extern void scePaf_9430557B (int arg1);
extern int scePaf_79C3CBF7 (int arg1, int arg2);
extern void scePaf_3A4934E3 (int arg1, int arg2, int arg3);
extern void scePaf_4FF65BDC (int arg1);
extern void scePaf_2313DDCA (int arg1);
extern void scePaf_B77039E4 (int arg1);
extern int scePaf_96C46364 ();
extern void scePaf_D2463C79 (int arg1, int arg2);
extern void scePaf_A72594EF (int arg1, int arg2);
extern void scePaf_EF52945B (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_33096E46 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_0AEDCDA1 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_F554C7C7 (int arg1, int arg2, int arg3);
extern void scePaf_D24E4016 (int arg1, int arg2, int arg3);
extern void scePaf_42F43213 (int arg1, int arg2);
extern void scePaf_5D242D11 (int arg1, int arg2);
extern void scePaf_11361F12 (int arg1);
extern void scePaf_51FF9D24 (int arg1, int arg2);
extern void scePaf_86B41BA3 (int arg1);
extern void scePaf_8DEB3DB3 (int arg1);
extern void scePaf_BA09CF46 (int arg1);
extern int scePaf_6DD28F44 ();
extern int scePaf_5A8D4BDB (int arg1, int arg2);
extern void scePaf_21B885B8 (int arg1, int arg2, int arg3, int arg4, int arg5);
extern int scePaf_F8301DBC ();
extern void scePaf_A574DB92 (int arg1);
extern int scePaf_C6F44EF9 ();
extern void scePaf_6B678D44 (int arg1, int arg2);
extern void scePaf_6A772BF7 (int arg1, int arg2);
extern void scePaf_4D4805AF (int arg1, int arg2, int arg3);
extern void scePaf_28F8DE83 (int arg1, int arg2, int arg3);
extern void scePaf_B1F587EF (int arg1, int arg2, int arg3);
extern void scePaf_8C1ED07B (int arg1, int arg2, int arg3);
extern void scePaf_04EF78CD (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8);
extern void scePaf_75A553A2 (int arg1, int arg2);
extern void scePaf_F4404EAF (int arg1, int arg2);
extern void scePaf_D63D4561 (int arg1, int arg2);
extern int scePaf_81667058 (int arg1, int arg2);
extern void scePaf_149CDEB9 (int arg1, int arg2, int arg3, int arg4, int arg5);
extern void scePaf_62081F34 (int arg1, int arg2, int arg3);
extern void scePaf_BECD1827 (int arg1);
extern void scePaf_FCDD55E3 (int arg1, int arg2);
extern void scePaf_2EABF548 (int arg1, int arg2);
extern int scePaf_73712598 ();
extern void scePaf_8B439A23 (int arg1);
extern void scePaf_7435C5D5 (int arg1);
extern void scePaf_CC103AD2 (int arg1);
extern void scePaf_566BC690 (int arg1);
extern void scePaf_68569AAC (int arg1);
extern void scePaf_76491EEA (int arg1);
extern void scePaf_7771BC86 (int arg1);
extern void scePaf_30F5E7DF (int arg1);
extern void scePaf_97B9C21E (int arg1, int arg2);
extern void scePaf_D16E5935 (int arg1, int arg2);
extern void scePaf_9D496842 (int arg1, int arg2, int arg3);
extern void scePaf_2750CF68 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_FB3A9617 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8);
extern void scePaf_35F003C0 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8);
extern int scePaf_08DD2D50 (int arg1, int arg2);
extern void scePaf_846E1F0A (int arg1, int arg2, int arg3, int arg4, int arg5);
extern void scePaf_4AB0D3F4 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_9122393C (int arg1, int arg2);
extern void scePaf_5C4BF618 (int arg1, int arg2);
extern int scePaf_4708AED4 (int arg1, int arg2);
extern void scePaf_CAF05F1D (int arg1, int arg2);
extern void scePaf_49CE42F7 (int arg1, int arg2);
extern void scePaf_63B24F4D (int arg1, int arg2, int arg3);
extern void scePaf_6F33D1DF (int arg1, int arg2);
extern void scePaf_3481F595 (int arg1, int arg2);
extern void scePaf_986FEBD1 (int arg1, int arg2);
extern void scePaf_458A9C95 (int arg1, int arg2, int arg3);
extern int scePaf_D3D12890 (int arg1);
extern void scePaf_98E1BC87 (int arg1);
extern void scePaf_84240C1D (int arg1, int arg2);
extern void scePaf_5D786CDD (int arg1);
extern void scePaf_6E95EFAA (int arg1);
extern void scePaf_88D73AED (int arg1, int arg2);
extern int scePaf_D4FAE7D0 (int arg1);
extern int scePaf_338C3774 (int arg1, int arg2);
extern void scePaf_DC2CA0F7 (int arg1, int arg2, int arg3);
extern int scePaf_7F7791A1 (int arg1, int arg2);
extern int scePaf_BB3CBD19 (int arg1, int arg2, int arg3);
extern void scePaf_27F64616 (int arg1);
extern void scePaf_72129CFB (int arg1, int arg2, int arg3);
extern int scePaf_DAB59652 (int arg1, int arg2);
extern void scePaf_1A45C860 (int arg1, int arg2);
extern int scePaf_D7215544 (int arg1, int arg2);
extern int scePaf_5DFB5858 ();
extern void scePaf_5EBC648F (int arg1, int arg2);
extern void scePaf_D7C2E0AD (int arg1, int arg2);
extern void scePaf_F4AB3180 (int arg1, int arg2);
extern void scePaf_EA026663 (int arg1, int arg2);
extern void scePaf_F609FA81 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_72A0044D (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_4612DB4B (int arg1);
extern void scePaf_78219D10 (int arg1);
extern int scePaf_298246CD (int arg1, int arg2);
extern void scePaf_12C50A9D (int arg1, int arg2, int arg3);
extern int scePaf_3D451DE8 (int arg1, int arg2);
extern int scePaf_8FE88010 (int arg1, int arg2, int arg3, int arg4, int arg5);
extern void scePaf_21A183A7 (int arg1);
extern int scePaf_ABEBF18D (int arg1, int arg2);
extern int scePaf_94136997 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_B4D1CBBF (int arg1, int arg2);
extern int scePaf_EA39A7C1 ();
extern void scePaf_6B1E90C7 ();
extern void scePaf_66907719 ();
extern void scePaf_AAD0EE78 (int arg1);
extern void scePaf_E69C3B1B (int arg1);
extern void scePaf_AD43F865 (int arg1);
extern void scePaf_A044BFC0 ();
extern void scePaf_F1CF9579 ();
extern void scePaf_533F3856 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8);
extern void scePaf_139D9047 (int arg1);
extern void scePaf_8D3B3587 (int arg1, int arg2, int arg3, int arg4);
extern int scePaf_27760582 (int arg1, int arg2, int arg3, int arg4, int arg5);
extern int scePaf_A0ED77C4 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6);
extern void scePaf_35F25BA1 (int arg1, int arg2);
extern int scePaf_75062BCF (int arg1);
extern void scePaf_9948CDB3 (int arg1, int arg2, int arg3);
extern void scePaf_C4BAD564 ();
extern void scePaf_D27DE19A (int arg1);
extern void scePaf_BAE16A39 (int arg1, int arg2, int arg3, int arg4);
extern void scePaf_FB3DB2FF ();

/*
 * Imports from library: sceMpeg
 */
extern void sceMpeg_682A619B ();
extern void sceMpeg_874624D6 ();

/*
 * Imports from library: sceCtrl
 */
extern void sceCtrl_3A622550 (int arg1, int arg2);

/*
 * Imports from library: scePower
 */
extern int scePower_0AFD0D8B ();
extern int scePower_1E490401 ();
extern int scePower_2085D15D ();
extern int scePower_04B7766E (int arg1, int arg2);
extern int scePower_DFA8BAF8 (int arg1);
extern void scePower_DB62C9CF ();

/*
 * Imports from library: sceUmdUser
 */
extern int sceUmdUser_46EBB729 ();
extern int sceUmdUser_C6183D47 (int arg1, int arg2);
extern int sceUmdUser_AEE7404D (int arg1);
extern int sceUmdUser_BD2BDE07 (int arg1);

/*
 * Imports from library: IoFileMgrForUser
 */
extern int IoFileMgrForUser_6A638D83 (int arg1, int arg2, int arg3);
extern int IoFileMgrForUser_42EC03AC (int arg1, int arg2, int arg3);
extern int IoFileMgrForUser_27EB27B8 (int arg1, int arg2, int arg3, int arg4, int arg5);
extern int IoFileMgrForUser_F27A9C51 (int arg1);
extern int IoFileMgrForUser_06A70004 (int arg1, int arg2);
extern int IoFileMgrForUser_ACE946E8 (int arg1, int arg2);
extern int IoFileMgrForUser_54F5FB11 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6);
extern int IoFileMgrForUser_B2A628C1 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6);
extern int IoFileMgrForUser_6D08A871 (int arg1);
extern void IoFileMgrForUser_810C4BC3 (int arg1);
extern int IoFileMgrForUser_109F50BC (int arg1, int arg2, int arg3);

/*
 * Imports from library: ModuleMgrForUser
 */
extern int ModuleMgrForUser_50F0C1EC (int arg1, int arg2, int arg3, int arg4, int arg5);
extern int ModuleMgrForUser_D1FF982A (int arg1, int arg2, int arg3, int arg4, int arg5);
extern int ModuleMgrForUser_2E0911AA (int arg1);

/*
 * Imports from library: ThreadManForUser
 */
extern void ThreadManForUser_349D6D6C ();
extern int ThreadManForUser_446D8DE6 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6);
extern void ThreadManForUser_9FA03CD3 (int arg1);
extern int ThreadManForUser_F475845D (int arg1, int arg2, int arg3);
extern int ThreadManForUser_3AD58B8C ();
extern void ThreadManForUser_27E22EC2 (int arg1);
extern int ThreadManForUser_E81CAF8F (int arg1, int arg2, int arg3);
extern int ThreadManForUser_EDBA5844 (int arg1);

/*
 * Imports from library: sceSuspendForUser
 */
extern void sceSuspendForUser_3AEE7261 (int arg1);

/**
 * Subroutine at address 0x00000000
 */
void sub_00000 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  sub_000AC ();
  sub_1AF2C ();
  ra = ((int *) sp)[5];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00000024
 */
void sub_00024 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = *((unsigned char *) 0x00020890);
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  if (!(var1 != 0x00000000))
  {
    var2 = *((int *) 0x0001F5D4);
    var3 = ((int *) var2)[0];
    if (!(var3 == 0x00000000))
    {
      var4 = *((int *) 0x0001F5D4);
      var5 = var4 + 0x00000004;
      while (1) {
        *((int *) 0x0001F5D4) = var5;
        var8 var9 = (*var3) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
        var10 = *((int *) 0x0001F5D4);
        var3 = ((int *) var10)[0];
        var5 = var10 + 0x00000004;
        if (var3 != 0x00000000)
          continue;
        break;
      }
    }
    if (0x00000000 == 0x00000000)
    {
    }
    else
    {
      sub_00000 ();
    }
    *((char *) 0x00020890) = 0x00000001;
  }
  ra = ((int *) sp)[2];
  var13 = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000000AC
 */
void sub_000AC ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (!(0x00000000 == 0x00000000))
  {
    sub_00000 ();
  }
  var3 = *((int *) 0x0001C4EC);
  if (var3 == 0x00000000)
  {

  label9:
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
    if (!(0x00000000 == 0x00000000))
    {
      sub_00000 ();
      goto label9;
    }
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000010C
 */
void sub_0010C (int arg1)
{
  sp = sp + 0xFFFFFF10;
  ((int *) sp)[52] = s4;
  var1 = arg1;
  var2 = sp;
  ((int *) sp)[57] = ra;
  ((int *) sp)[49] = s1;
  ((int *) sp)[48] = s0;
  ((int *) sp)[56] = fp;
  ((int *) sp)[55] = s7;
  ((int *) sp)[54] = s6;
  ((int *) sp)[53] = s5;
  ((int *) sp)[51] = s3;
  ((int *) sp)[50] = s2;
  scePaf_72A0044D (var2, "flash0:/vsh/module/opening_plugin.prx", 0x00000000, 0x00000000);
  var5 = sp;
  var8 = scePaf_298246CD (var5, 0x00000001);
  var9 = var8;
  var10 = *((int *) 0x000208B8);
  var11 = *((int *) 0x00020918);
  if (!(var10 == 0x00000001))
  {
    var12 = sp + 0x00000010;
    var13 = sp + 0x0000001C;
    var14 = sp + 0x00000038;
    var15 = sp + 0x00000070;
    var16 = sp + 0x00000054;
    var17 = sp + 0x00000098;
    if ((var11 & 0x00000004) == 0x00000000)
    {
      scePaf_6E95EFAA (var12);
      sub_01A8C (var12, "opening_plugin");
      sub_01A8C (var13, "__main__");
      var36 = ((int *) var9)[0];
      ((int *) sp)[18] = 0x00000096;
      ((int *) sp)[10] = var36;
      var37 = ((int *) var9)[1];
      ((int *) sp)[11] = var37;
      var38 = ((int *) var9)[3];
      ((int *) sp)[13] = var38;
      sub_01A8C (var14, "flash0:/vsh/resource/opening_plugin.rco");
      ((int *) sp)[19] = 0x00025800;
      ((int *) sp)[24] = 0x0000000C;
      ((int *) sp)[28] = 0x00000000;
      ((int *) sp)[29] = 0x00000000;
      sub_01A8C (var15, "type");
      var45 = sub_019D4 (var16, var15);
      ((int *) sp)[36] = 0x00000000;
      ((int *) sp)[37] = var1;
      ((int *) sp)[39] = 0x00000000;
      ((int *) var45)[0] = 0x00000000;
      ((int *) var45)[1] = var1;
      ((int *) sp)[38] = 0x00000000;
      sub_01ADC ((var45 + 0x00000008), var17);
      sub_01988 (var17);
      sub_01988 (var15);
      scePaf_88D73AED (var12, 0x00000738);
      var54 = *((int *) 0x00020918);
      *((int *) 0x00020918) = (var54 | 0x00000004);
      sub_019B8 (var16);
      sub_01988 (var14);
      sub_01988 (var13);
      sub_01988 (var12);
    }
  }
  var18 = sp;
  scePaf_4612DB4B (var18);
  ra = ((int *) sp)[57];
  var21 = ((int *) sp)[56];
  var22 = ((int *) sp)[55];
  var23 = ((int *) sp)[54];
  var24 = ((int *) sp)[53];
  var25 = ((int *) sp)[52];
  var26 = ((int *) sp)[51];
  var27 = ((int *) sp)[50];
  var28 = ((int *) sp)[49];
  var29 = ((int *) sp)[48];
  sp = sp + 0x000000F0;
  return;
}

/**
 * Subroutine at address 0x000002E8
 */
void sub_002E8 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_03648 ();
  sub_02930 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00000310
 */
void sub_00310 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = *((int *) 0x000208B4);
  if (var1 != 0x00000000)
  {
    var4 = scePaf_338C3774 (var1, 0x00000001);
    if (var4 == 0x00000000)
    {

    label9:
      ra = ((int *) sp)[0];
    }
    else
    {
      var5 = ((int *) var4)[13];
      var8 var9 = (*var5) (0x00000000);
      ra = ((int *) sp)[0];
    }
  }
  else
  goto label9;
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000035C
 */
void sub_0035C ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  var1 = *((int *) 0x000208B4);
  if (var1 == 0x00000000)
  {
    var13 = sp;
    ((int *) sp)[0] = 0x0000035C;
    sub_01B70 (0x000208DC, var13);
    ra = ((int *) sp)[4];
  }
  else
  {
    var4 = scePaf_338C3774 (var1, 0x00000001);
    ra = ((int *) sp)[4];
    if (!(var4 == 0x00000000))
    {
      var5 = ((int *) var4)[1];
      var8 var9 = (*var5) ();
      var12 = scePaf_A0ED77C4 (0x00000000, 0x000002E8, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000310);
      ra = ((int *) sp)[4];
    }
  }
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000003E8
 */
void sub_003E8 (int arg1, int arg2)
{
  *((int *) 0x0002090C) = arg1;
  *((int *) 0x00020910) = arg2;
  return;
}

/**
 * Subroutine at address 0x000003FC
 */
void sub_003FC ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  var1 = *((int *) 0x000208B4);
  if (var1 == 0x00000000)
  {
    var16 = sp;
    ((int *) sp)[0] = 0x000003FC;
    sub_01B70 (0x000208DC, var16);
    ra = ((int *) sp)[4];
  }
  else
  {
    var4 = scePaf_338C3774 (var1, 0x00000001);
    var5 = var4;
    if (!(var4 == 0x00000000))
    {
      var6 = *((int *) 0x0002090C);
      var7 = ((int *) var5)[14];
      var8 = *((int *) 0x00020910);
      var11 var12 = (*var7) (var6, var8, var5);
      var15 = scePaf_A0ED77C4 (0x00000000, 0x000002E8, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000310);
    }
    ra = ((int *) sp)[4];
  }
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00000494
 */
void sub_00494 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  var1 = *((int *) 0x000208B0);
  if (var1 == 0x00000000)
  {
    var12 = sp;
    ((int *) sp)[0] = 0x00000494;
    sub_01B70 (0x000208EC, var12);
    ra = ((int *) sp)[4];
  }
  else
  {
    var4 = scePaf_338C3774 (var1, 0x00000001);
    if (var4 == 0x00000000)
    {

    label13:
      ra = ((int *) sp)[4];
    }
    else
    {
      var5 = *((int *) 0x00020918);
      var6 = var5 | 0x00000100;
      if (!((var5 & 0x00000100) == 0x00000000))
        goto label13;
      *((int *) 0x00020918) = var6;
      var7 = ((int *) var4)[13];
      __asm__ ("lwc1       $fpr12, -14400($v0);");
      var10 var11 = (*var7) (0x00000001, var6, "ex_fcs_cnf_save_energy");
      ra = ((int *) sp)[4];
    }
  }
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00000524
 */
void sub_00524 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  var1 = *((int *) 0x000208B0);
  if (var1 == 0x00000000)
  {
    var10 = sp;
    ((int *) sp)[0] = 0x00000524;
    sub_01B70 (0x000208EC, var10);
    ra = ((int *) sp)[4];
  }
  else
  {
    var4 = scePaf_338C3774 (var1, 0x00000001);
    if (!(var4 == 0x00000000))
    {
      var5 = ((int *) var4)[11];
      __asm__ ("lwc1       $fpr12, -14396($v0);");
      var8 var9 = (*var5) (0x00000001);
    }
    ra = ((int *) sp)[4];
  }
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00000590
 */
void sub_00590 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  var1 = arg1;
  ((int *) sp)[13] = ra;
  var2 = ((int *) arg1)[1];
  var3 = ((int *) arg1)[0];
  var4 = var3 + (var2 << 0x00000002);
  ((int *) sp)[0] = var3;
  ((int *) sp)[4] = var4;
  if (var3 != var4)
  {
    while (1) {
      var8 = ((int *) sp)[0];
      var9 = ((int *) var8)[0];
      var12 var13 = (*var9) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
      var14 = ((int *) var1)[1];
      var15 = ((int *) var1)[0];
      var16 = ((int *) sp)[0];
      var17 = var15 + (var14 << 0x00000002);
      var18 = var16 + 0x00000004;
      ((int *) sp)[8] = var16;
      ((int *) sp)[0] = var18;
      ((int *) sp)[4] = var17;
      if (var18 != var17)
        continue;
      break;
    }
  }
  sub_01BE4 (var1);
  ra = ((int *) sp)[13];
  var7 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00000614
 */
void sub_00614 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  *((int *) 0x00020914) = arg1;
  if (arg1 == 0x00000001)
  {
    var3 = *((int *) 0x00020910);
    if (var3 != 0x00000000)
    {
      sub_00494 ();
      sub_00524 ();
      sub_00BB8 ();
      sub_003FC ();
    }
    else
    {
      var4 = *((int *) 0x000208B8);
      if (var4 == 0x00000002)
      {
        sub_00494 ();
        sub_00524 ();
        sub_00E2C ();
      }
      else
      {
        if (var4 == 0x00000003)
        {
          sub_00494 ();
          sub_00524 ();
          sub_01014 ();
        }
        else
        {
          var5 = *((int *) 0x00020918);
          if ((var5 & 0x00000002) == 0x00000000)
          {
            sub_00494 ();
            sub_00524 ();
            sub_00BB8 ();
            sub_0035C ();
          }
          else
          {
          }
        }
      }
    }
    sub_00590 (0x000208CC);
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
    if (!(((arg1 < 0x00000002)) != 0x00000000))
    {
      if (arg1 == 0x00000002)
      {
        vsh_FDEE4109 ();
        ra = ((int *) sp)[0];
      }
    }
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00000738
 */
void sub_00738 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  ((int *) sp)[15] = ra;
  ((int *) sp)[14] = s2;
  ((int *) sp)[13] = s1;
  *((int *) 0x000208AC) = arg1;
  var3 = scePaf_338C3774 (arg1, 0x00000001);
  var4 = var3;
  if (!(var3 == 0x00000000))
  {
    var5 = ((int *) var3)[1];
    var8 var9 = (*var5) (0x00000614);
  }
  var10 = *((int *) 0x000208BC);
  ((int *) sp)[0] = var10;
  ((int *) sp)[4] = var10;
  while (1) {
    var11 = *((int *) 0x000208C0);
    var12 = *((int *) 0x000208BC);
    var13 = ((int *) sp)[0];
    var14 = var12 + (var11 << 0x00000002);
    ((int *) sp)[4] = var14;
    if (var13 == var14)
      break;
    var15 = ((int *) sp)[0];
    if (!(var4 == 0x00000000))
    {
      var16 = ((int *) var4)[0];
      var17 = ((int *) var13)[0];
      var20 var21 = (*var16) (var17);
      var15 = ((int *) sp)[0];
    }
    ((int *) sp)[0] = (var15 + 0x00000004);
    ((int *) sp)[8] = var15;
    continue;
  }
  sub_01C38 (0x000208BC);
  ra = ((int *) sp)[15];
  var24 = ((int *) sp)[14];
  var25 = ((int *) sp)[13];
  var26 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x000007EC
 */
void sub_007EC ()
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = ra;
  var1 = sp;
  sceVshCommonUtil_2ACAD845 (var1, "/CONFIG/SYSTEM/XMB");
  var4 = sp;
  var5 = sp + 0x00000020;
  var8 = sceVshCommonUtil_63FFE887 (var4, "language", var5);
  if (var8 != 0x00000000)
  {
    scePaf_C9831AFF ("registry_access returned %d\n", var8);
    ((int *) sp)[8] = 0x00000000;
  }
  var9 = ((int *) sp)[8];
  if (((var9 < 0x0000000C)) != 0x00000000)
  {
  }
  else
  {
    ((int *) sp)[8] = 0x00000001;
  }
  var12 = scePaf_5DFB5858 ();
  var13 = ((int *) sp)[8];
  ((int *) var12)[36] = var13;
  vsh_A0CBE1FE (var13);
  var16 = sp;
  sceVshCommonUtil_98E57F6D (var16);
  var19 = sp;
  sceVshCommonUtil_2ACAD845 (var19, "/CONFIG/DATE");
  var22 = sp;
  var23 = sp + 0x00000024;
  var26 = sceVshCommonUtil_63FFE887 (var22, "date_format", var23);
  if (var26 != 0x00000000)
  {
    scePaf_C9831AFF ("registry_access returned %d\n", var26);
    ((int *) sp)[9] = 0x00000000;
  }
  var27 = ((int *) sp)[9];
  if (((var27 < 0x00000003)) == 0x00000000)
  {
    ((int *) sp)[9] = 0x00000000;
  }
  var28 = sp;
  var29 = sp + 0x00000028;
  var32 = sceVshCommonUtil_63FFE887 (var28, "time_format", var29);
  if (var32 != 0x00000000)
  {
    scePaf_C9831AFF ("registry_access returned %d\n", var32);
    ((int *) sp)[10] = 0x00000000;
  }
  var33 = ((int *) sp)[10];
  if (!(((var33 < 0x00000002)) != 0x00000000))
  {
    ((int *) sp)[10] = 0x00000000;
  }
  var34 = ((int *) sp)[9];
  sceVshCommonUtil_B48D135B (var34, 0x00000000);
  var37 = sp;
  sceVshCommonUtil_98E57F6D (var37);
  var40 = sp;
  sceVshCommonUtil_2ACAD845 (var40, "/CONFIG/SYSTEM/SOUND");
  var43 = sp;
  var44 = sp + 0x0000002C;
  var47 = sceVshCommonUtil_63FFE887 (var43, "operation_sound_mode", var44);
  if (var47 != 0x00000000)
  {
    scePaf_C9831AFF ("registry_access returned %d\n", var47);
    ((int *) sp)[11] = 0x00000001;
  }
  var50 = scePaf_5DFB5858 ();
  var51 = ((int *) sp)[11];
  var52 = sp;
  ((char *) var50)[140] = ((0x00000000 < var51));
  sceVshCommonUtil_98E57F6D (var52);
  ra = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x0000097C
 */
void sub_0097C ()
{
  return;
}

/**
 * Subroutine at address 0x00000984
 */
void sub_00984 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  vsh_58925420 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000009A4
 */
void sub_009A4 ()
{
  return;
}

/**
 * Subroutine at address 0x000009AC
 */
void sub_009AC ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_0356C ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000009CC
 */
void sub_009CC ()
{
  var1 = *((int *) 0x00020918);
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  *((int *) 0x00020918) = (var1 | 0x00000200);
  sub_00590 (0x000208FC);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000009FC
 */
void sub_009FC ()
{
  sp = sp + 0xFFFFFF30;
  ((int *) sp)[45] = s1;
  var1 = sp;
  var2 = *((int *) 0x00020918);
  ((int *) sp)[50] = s6;
  var3 = sp + 0x0000000C;
  ((int *) sp)[49] = s5;
  var4 = sp + 0x00000028;
  ((int *) sp)[48] = s4;
  var5 = sp + 0x00000044;
  ((int *) sp)[47] = s3;
  var6 = sp + 0x00000088;
  ((int *) sp)[46] = s2;
  var7 = sp + 0x00000060;
  ((int *) sp)[51] = ra;
  ((int *) sp)[44] = s0;
  if ((var2 & 0x00000008) == 0x00000000)
  {
    scePaf_6E95EFAA (var1);
    var17 = sp;
    sub_01A8C (var17, "system_plugin");
    sub_01A8C (var3, "__main__");
    ((int *) sp)[9] = 0x000188AC;
    ((int *) sp)[6] = 0x000185F0;
    sub_01A8C (var4, "flash0:/vsh/resource/system_plugin.rco");
    ((int *) sp)[24] = 0x00000000;
    ((int *) sp)[25] = 0x00000000;
    sub_01A8C (var7, "main_module");
    var28 = sub_019D4 (var5, var7);
    ((int *) sp)[32] = 0x00000000;
    ((int *) sp)[33] = 0x00000000;
    ((int *) sp)[35] = 0x00000000;
    ((int *) var28)[0] = 0x00000000;
    ((int *) var28)[1] = 0x00000000;
    ((int *) sp)[34] = 0x00000000;
    sub_01ADC ((var28 + 0x00000008), var6);
    sub_01988 (var6);
    sub_01988 (var7);
    var35 = sp;
    ((int *) sp)[20] = 0x0000000C;
    scePaf_88D73AED (var35, 0x00000B68);
    var38 = *((int *) 0x00020918);
    *((int *) 0x00020918) = (var38 | 0x00000008);
    sub_019B8 (var5);
    sub_01988 (var4);
    sub_01988 (var3);
    var45 = sp;
    sub_01988 (var45);
    ra = ((int *) sp)[51];
  }
  else
  {
    ra = ((int *) sp)[51];
  }
  var8 = ((int *) sp)[50];
  var9 = ((int *) sp)[49];
  var10 = ((int *) sp)[48];
  var11 = ((int *) sp)[47];
  var12 = ((int *) sp)[46];
  var13 = ((int *) sp)[45];
  var14 = ((int *) sp)[44];
  sp = sp + 0x000000D0;
  return;
}

/**
 * Subroutine at address 0x00000B68
 */
void sub_00B68 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  *((int *) 0x000208B0) = arg1;
  ((int *) sp)[0] = ra;
  sub_00590 (0x000208EC);
  var3 = *((int *) 0x000208B8);
  if (var3 == 0x00000001)
  {
    sub_00BB8 ();
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00000BB8
 */
void sub_00BB8 ()
{
  sp = sp + 0xFFFFFF30;
  ((int *) sp)[45] = s1;
  var1 = *((unsigned char *) 0x00020918);
  ((int *) sp)[51] = ra;
  ((int *) sp)[50] = s6;
  ((int *) sp)[49] = s5;
  ((int *) sp)[48] = s4;
  ((int *) sp)[47] = s3;
  ((int *) sp)[46] = s2;
  ((int *) sp)[44] = s0;
  if (((var1 ^ 0x00000001) & 0x00000001) == 0x00000000)
  {

  label33:
    ra = ((int *) sp)[51];
  }
  else
  {
    var2 = *((int *) 0x00020918);
    var3 = sp;
    var4 = sp + 0x0000000C;
    var5 = sp + 0x00000028;
    var6 = sp + 0x00000060;
    var7 = sp + 0x00000044;
    var8 = sp + 0x00000088;
    if (!((var2 & 0x00000010) == 0x00000000))
      goto label33;
    scePaf_6E95EFAA (var3);
    var18 = sp;
    sub_01A8C (var18, "topmenu_plugin");
    sub_01A8C (var4, "__main__");
    ((int *) sp)[6] = 0x0000B248;
    ((int *) sp)[7] = 0x0000B2F0;
    ((int *) sp)[9] = 0x0000B370;
    sub_01A8C (var5, "flash0:/vsh/resource/topmenu_plugin.rco");
    ((int *) sp)[20] = 0x0000000C;
    ((int *) sp)[14] = 0x00000032;
    ((int *) sp)[24] = 0x00000000;
    ((int *) sp)[25] = 0x00000000;
    sub_01A8C (var6, "action");
    var29 = sub_019D4 (var7, var6);
    ((int *) sp)[33] = 0x00000001;
    ((int *) sp)[32] = 0x00000000;
    ((int *) sp)[35] = 0x00000000;
    ((int *) var29)[0] = 0x00000000;
    ((int *) var29)[1] = 0x00000001;
    ((int *) sp)[34] = 0x00000000;
    sub_01ADC ((var29 + 0x00000008), var8);
    sub_01988 (var8);
    sub_01988 (var6);
    var36 = sp;
    scePaf_88D73AED (var36, 0x00000DAC);
    var39 = *((int *) 0x00020918);
    *((int *) 0x00020918) = (var39 | 0x00000010);
    sub_019B8 (var7);
    sub_01988 (var5);
    sub_01988 (var4);
    var46 = sp;
    sub_01988 (var46);
    ra = ((int *) sp)[51];
  }
  var9 = ((int *) sp)[50];
  var10 = ((int *) sp)[49];
  var11 = ((int *) sp)[48];
  var12 = ((int *) sp)[47];
  var13 = ((int *) sp)[46];
  var14 = ((int *) sp)[45];
  var15 = ((int *) sp)[44];
  sp = sp + 0x000000D0;
  return;
}

/**
 * Subroutine at address 0x00000D4C
 */
void sub_00D4C (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  var1 = *((int *) 0x000208AC);
  ((int *) sp)[0] = arg1;
  if (var1 == 0x00000000)
  {
    var11 = sp;
    sub_01C8C (0x000208BC, var11);
    ra = ((int *) sp)[4];
  }
  else
  {
    var4 = scePaf_338C3774 (var1, 0x00000001);
    ra = ((int *) sp)[4];
    if (!(var4 == 0x00000000))
    {
      var5 = ((int *) var4)[0];
      var6 = ((int *) sp)[0];
      var9 var10 = (*var5) (var6);
      ra = ((int *) sp)[4];
    }
  }
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00000DAC
 */
void sub_00DAC (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  *((int *) 0x000208B4) = arg1;
  ((int *) sp)[0] = ra;
  sub_01238 ();
  sub_00590 (0x000208DC);
  var5 = *((int *) 0x000208B8);
  ra = ((int *) sp)[0];
  if (var5 == 0x00000001)
  {
    sub_00494 ();
    sub_00524 ();
    var10 = *((int *) 0x00020910);
    if (var10 == 0x00000000)
    {
      sub_0035C ();
      ra = ((int *) sp)[0];
    }
    else
    {
      sub_003FC ();
      ra = ((int *) sp)[0];
    }
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00000E2C
 */
void sub_00E2C ()
{
  sp = sp + 0xFFFFFF00;
  ((int *) sp)[59] = s7;
  var1 = *((int *) 0x00020918);
  ((int *) sp)[60] = ra;
  ((int *) sp)[58] = s6;
  ((int *) sp)[57] = s5;
  ((int *) sp)[56] = s4;
  ((int *) sp)[55] = s3;
  ((int *) sp)[54] = s2;
  ((int *) sp)[53] = s1;
  ((int *) sp)[52] = s0;
  if ((var1 & 0x00000200) == 0x00000000)
  {
    var60 = sp + 0x000000C0;
    ((int *) sp)[48] = 0x00000E2C;
    sub_01B70 (0x000208FC, var60);
    ra = ((int *) sp)[60];
  }
  else
  {
    if ((var1 & 0x00000021) == 0x00000000)
    {
      var10 = sp;
      scePaf_72A0044D (var10, "flash0:/vsh/module/sysconf_plugin.prx", 0x00000000, 0x00000000);
      var13 = sp + 0x00000010;
      var14 = sp;
      var17 = scePaf_298246CD (var14, 0x00000001);
      var18 = var17;
      scePaf_6E95EFAA (var13);
      sub_01A8C (var13, "sysconf_plugin");
      var23 = sp + 0x0000001C;
      sub_01A8C (var23, "__main__");
      var26 = ((int *) var18)[0];
      var27 = sp + 0x00000038;
      ((int *) sp)[10] = var26;
      var28 = ((int *) var18)[1];
      var29 = sp + 0x00000070;
      var30 = sp + 0x00000054;
      ((int *) sp)[11] = var28;
      var31 = sp + 0x00000098;
      var32 = ((int *) var18)[3];
      ((int *) sp)[13] = var32;
      sub_01A8C (var27, "flash0:/vsh/resource/sysconf_plugin.rco");
      ((int *) sp)[18] = 0x00000031;
      ((int *) sp)[19] = 0x00120000;
      ((int *) sp)[28] = 0x00000000;
      ((int *) sp)[29] = 0x00000000;
      sub_01A8C (var29, "init");
      var39 = sub_019D4 (var30, var29);
      ((int *) sp)[37] = 0x00000001;
      ((int *) sp)[36] = 0x00000000;
      ((int *) sp)[39] = 0x00000000;
      ((int *) var39)[0] = 0x00000000;
      ((int *) var39)[1] = 0x00000001;
      ((int *) sp)[38] = 0x00000000;
      sub_01ADC ((var39 + 0x00000008), var31);
      sub_01988 (var31);
      sub_01988 (var29);
      ((int *) sp)[24] = 0x0000000C;
      scePaf_88D73AED (var13, 0x000011FC);
      var48 = *((int *) 0x00020918);
      *((int *) 0x00020918) = (var48 | 0x00000020);
      sub_019B8 (var30);
      sub_01988 (var27);
      sub_01988 (var23);
      sub_01988 (var13);
      var57 = sp;
      scePaf_4612DB4B (var57);
      ra = ((int *) sp)[60];
    }
    else
    {
      ra = ((int *) sp)[60];
    }
  }
  var2 = ((int *) sp)[59];
  var3 = ((int *) sp)[58];
  var4 = ((int *) sp)[57];
  var5 = ((int *) sp)[56];
  var6 = ((int *) sp)[55];
  var7 = ((int *) sp)[54];
  var8 = ((int *) sp)[53];
  var9 = ((int *) sp)[52];
  sp = sp + 0x00000100;
  return;
}

/**
 * Subroutine at address 0x00001014
 */
void sub_01014 ()
{
  sp = sp + 0xFFFFFF00;
  ((int *) sp)[59] = s7;
  var1 = *((int *) 0x00020918);
  ((int *) sp)[60] = ra;
  ((int *) sp)[58] = s6;
  ((int *) sp)[57] = s5;
  ((int *) sp)[56] = s4;
  ((int *) sp)[55] = s3;
  ((int *) sp)[54] = s2;
  ((int *) sp)[53] = s1;
  ((int *) sp)[52] = s0;
  if ((var1 & 0x00000200) == 0x00000000)
  {
    var60 = sp + 0x000000C0;
    ((int *) sp)[48] = 0x00000E2C;
    sub_01B70 (0x000208FC, var60);
    ra = ((int *) sp)[60];
  }
  else
  {
    if ((var1 & 0x00000021) == 0x00000000)
    {
      var10 = sp;
      scePaf_72A0044D (var10, "flash0:/vsh/module/sysconf_plugin.prx", 0x00000000, 0x00000000);
      var13 = sp + 0x00000010;
      var14 = sp;
      var17 = scePaf_298246CD (var14, 0x00000001);
      var18 = var17;
      scePaf_6E95EFAA (var13);
      sub_01A8C (var13, "sysconf_plugin");
      var23 = sp + 0x0000001C;
      sub_01A8C (var23, "__main__");
      var26 = ((int *) var18)[0];
      var27 = sp + 0x00000038;
      ((int *) sp)[10] = var26;
      var28 = ((int *) var18)[1];
      var29 = sp + 0x00000070;
      var30 = sp + 0x00000054;
      ((int *) sp)[11] = var28;
      var31 = sp + 0x00000098;
      var32 = ((int *) var18)[3];
      ((int *) sp)[13] = var32;
      sub_01A8C (var27, "flash0:/vsh/resource/sysconf_plugin.rco");
      ((int *) sp)[18] = 0x00000031;
      ((int *) sp)[19] = 0x00120000;
      ((int *) sp)[28] = 0x00000000;
      ((int *) sp)[29] = 0x00000000;
      sub_01A8C (var29, "init");
      var39 = sub_019D4 (var30, var29);
      ((int *) sp)[37] = 0x00000002;
      ((int *) sp)[36] = 0x00000000;
      ((int *) sp)[39] = 0x00000000;
      ((int *) var39)[0] = 0x00000000;
      ((int *) var39)[1] = 0x00000002;
      ((int *) sp)[38] = 0x00000000;
      sub_01ADC ((var39 + 0x00000008), var31);
      sub_01988 (var31);
      sub_01988 (var29);
      ((int *) sp)[24] = 0x0000000C;
      scePaf_88D73AED (var13, 0x000011FC);
      var48 = *((int *) 0x00020918);
      *((int *) 0x00020918) = (var48 | 0x00000020);
      sub_019B8 (var30);
      sub_01988 (var27);
      sub_01988 (var23);
      sub_01988 (var13);
      var57 = sp;
      scePaf_4612DB4B (var57);
      ra = ((int *) sp)[60];
    }
    else
    {
      ra = ((int *) sp)[60];
    }
  }
  var2 = ((int *) sp)[59];
  var3 = ((int *) sp)[58];
  var4 = ((int *) sp)[57];
  var5 = ((int *) sp)[56];
  var6 = ((int *) sp)[55];
  var7 = ((int *) sp)[54];
  var8 = ((int *) sp)[53];
  var9 = ((int *) sp)[52];
  sp = sp + 0x00000100;
  return;
}

/**
 * Subroutine at address 0x000011FC
 */
void sub_011FC ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = scePaf_338C3774 (arg1, 0x00000001);
  if (!(var3 == 0x00000000))
  {
    var4 = ((int *) var3)[1];
    var7 var8 = (*var4) (0x0000155C);
  }
  sub_01238 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001238
 */
void sub_01238 ()
{
  sp = sp + 0xFFFFFF70;
  ((int *) sp)[29] = s1;
  var1 = *((int *) 0x00020918);
  ((int *) sp)[32] = s4;
  ((int *) sp)[31] = s3;
  ((int *) sp)[30] = s2;
  var2 = sp;
  var3 = sp + 0x00000010;
  ((int *) sp)[33] = ra;
  var4 = sp + 0x0000001C;
  var5 = sp + 0x00000038;
  ((int *) sp)[28] = s0;
  if ((var1 & 0x00000041) == 0x00000000)
  {
    scePaf_72A0044D (var2, "flash0:/vsh/module/impose_plugin.prx", 0x00000000, 0x00000000);
    var13 = sp;
    var16 = scePaf_298246CD (var13, 0x00000001);
    var17 = var16;
    scePaf_6E95EFAA (var3);
    sub_01A8C (var3, "impose_plugin");
    sub_01A8C (var4, "__main__");
    var24 = ((int *) var17)[0];
    ((int *) sp)[10] = var24;
    var25 = ((int *) var17)[1];
    ((int *) sp)[19] = 0x0002C000;
    ((int *) sp)[11] = var25;
    var26 = ((int *) var17)[3];
    ((int *) sp)[18] = 0x00000000;
    ((int *) sp)[13] = var26;
    sub_01A8C (var5, "flash0:/vsh/resource/impose_plugin.rco");
    ((int *) sp)[24] = 0x0000000C;
    scePaf_88D73AED (var3, 0x00000000);
    var31 = sp + 0x00000054;
    var32 = *((int *) 0x00020918);
    *((int *) 0x00020918) = (var32 | 0x00000040);
    sub_019B8 (var31);
    sub_01988 (var5);
    sub_01988 (var4);
    sub_01988 (var3);
    var41 = sp;
    scePaf_4612DB4B (var41);
    ra = ((int *) sp)[33];
  }
  else
  {
    ra = ((int *) sp)[33];
  }
  var6 = ((int *) sp)[32];
  var7 = ((int *) sp)[31];
  var8 = ((int *) sp)[30];
  var9 = ((int *) sp)[29];
  var10 = ((int *) sp)[28];
  sp = sp + 0x00000090;
  return;
}

/**
 * Subroutine at address 0x0000136C
 */
void sub_0136C ()
{
  sp = sp + 0xFFFFFF70;
  ((int *) sp)[29] = s1;
  var1 = *((int *) 0x00020918);
  ((int *) sp)[32] = s4;
  ((int *) sp)[31] = s3;
  ((int *) sp)[30] = s2;
  var2 = sp;
  var3 = sp + 0x00000010;
  ((int *) sp)[33] = ra;
  var4 = sp + 0x0000001C;
  var5 = sp + 0x00000038;
  ((int *) sp)[28] = s0;
  if ((var1 & 0x00000080) == 0x00000000)
  {
    scePaf_72A0044D (var2, "flash0:/vsh/module/auth_plugin.prx", 0x00000000, 0x00000000);
    var13 = sp;
    var16 = scePaf_298246CD (var13, 0x00000001);
    var17 = var16;
    scePaf_6E95EFAA (var3);
    sub_01A8C (var3, "auth_plugin");
    sub_01A8C (var4, "__main__");
    var24 = ((int *) var17)[0];
    ((int *) sp)[10] = var24;
    var25 = ((int *) var17)[1];
    ((int *) sp)[11] = var25;
    var26 = ((int *) var17)[3];
    ((int *) sp)[13] = var26;
    sub_01A8C (var5, "flash0:/vsh/resource/auth_plugin.rco");
    ((int *) sp)[24] = 0x0000000C;
    ((int *) sp)[18] = 0x00000030;
    scePaf_88D73AED (var3, 0x0000149C);
    var31 = sp + 0x00000054;
    var32 = *((int *) 0x00020918);
    *((int *) 0x00020918) = (var32 | 0x00000080);
    sub_019B8 (var31);
    sub_01988 (var5);
    sub_01988 (var4);
    sub_01988 (var3);
    var41 = sp;
    scePaf_4612DB4B (var41);
    ra = ((int *) sp)[33];
  }
  else
  {
    ra = ((int *) sp)[33];
  }
  var6 = ((int *) sp)[32];
  var7 = ((int *) sp)[31];
  var8 = ((int *) sp)[30];
  var9 = ((int *) sp)[29];
  var10 = ((int *) sp)[28];
  sp = sp + 0x00000090;
  return;
}

/**
 * Subroutine at address 0x0000149C
 */
void sub_0149C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = scePaf_338C3774 (arg1, 0x00000001);
  if (!(var3 == 0x00000000))
  {
    var4 = ((int *) var3)[0];
    var7 var8 = (*var4) (0x00000001, 0x000014D8, 0x00000000);
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000014D8
 */
void sub_014D8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (arg1 != 0x00000000)
  {

  label12:
    sub_00BB8 ();
    sub_00494 ();
    sub_00524 ();
    sub_0035C ();
    ra = ((int *) sp)[0];
  }
  else
  {
    var3 = sub_1A1A8 ();
    var4 = *((int *) 0x0002091C);
    if (!(var4 == var3))
      goto label12;
    var15 = sub_1A184 ();
    if ((var15 & 0x00000100) == 0x00000000)
      goto label12;
    var16 = *((int *) 0x00020918);
    *((int *) 0x00020918) = (var16 & 0xFFFFFFFB);
    sub_0010C (0x00000001);
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000155C
 */
void sub_0155C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_00BB8 ();
  sub_0035C ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001580
 */
void sub_01580 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = sub_04378 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000159C
 */
void sub_0159C (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  if (((arg4 < 0x00000006)) == 0x00000000)
  {

  label22:
    ra = ((int *) sp)[4];
  }
  else
  {
    var1 = ((int *) ((arg4 << 0x00000002) + 0x0001C7A8))[0];
    switch () {
    case 0:
      sub_00D4C (0x00000004);
      var4 = *((int *) 0x00020918);
      *((int *) 0x00020918) = (var4 | 0x00000001);
      goto label22;
    case 1:

    label16:
      sub_00D4C (0x00000008);
      ra = ((int *) sp)[4];
      goto label23;
    case 2:
    case 3:
    case 4:
      sub_003E8 (0x00000001, arg4);
      goto label16;
    case 5:
      var9 = *((int *) 0x00020918);
      *((int *) 0x00020918) = (var9 | 0x00000002);
      sub_00D4C (0x00000040);
      var12 = *((int *) 0x00020914);
      if (var12 == 0x00000001)
      {
        sub_0136C ();
        ra = ((int *) sp)[4];
      }
      else
      {
        var13 = sp;
        ((int *) sp)[0] = 0x0000136C;
        sub_01B70 (0x000208CC, var13);
        ra = ((int *) sp)[4];
      }
    }
  }

label23:
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000166C
 */
void sub_0166C (int arg1)
{
  sp = sp + 0xFFFFFFD0;
  var1 = sp;
  *((int *) 0x000208B8) = arg1;
  ((int *) sp)[8] = ra;
  *((int *) 0x00020918) = 0x00000000;
  vsh_741C9BE1 (0x00000000, var1, 0x00000020);
  var4 = ((int *) sp)[3];
  if (var4 < 0)
  {
    sub_003E8 (0x00000002, var4);
  }
  sub_03520 ();
  sub_0010C (0x00000000);
  var11 = scePaf_A0ED77C4 (0x00000000, 0x000007EC, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000097C);
  var14 = scePaf_A0ED77C4 (0x00000000, 0x00000984, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000009A4);
  var17 = scePaf_A0ED77C4 (0x00000000, 0x000009AC, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000009CC);
  sub_009FC ();
  ra = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00001748
 */
void sub_01748 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = arg1;
  var4 = sub_1A1A8 ();
  var5 = *((int *) 0x000208B8);
  *((int *) 0x0002091C) = var4;
  if (var5 == 0x00000002)
  {
    var6 = 0x00000010;
    if ((var1 & 0x000000F0) != 0x00000010)
    {

    label23:
      sub_00D4C (var6);
      ra = ((int *) sp)[1];
    }
    else
    {
      var18 = sub_1A954 ();
      var6 = 0x00000010;
      if ((((var18 + 0xFFFFFFFF) < 0x00000002)) == 0x00000000)
        goto label23;

    label27:
      var10 = scePaf_A0ED77C4 (0x00000000, 0x00001580, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000159C);

    label29:
      ra = ((int *) sp)[1];
    }
  }
  else
  {
    var6 = 0x00000020;
    if (var5 == 0x00000003)
      goto label23;
    if (var5 == 0x00000001)
    {
      goto label29;
    }
    else
    {
      var7 = 0x00000002;
      if ((var1 & 0x00000002) != 0x00000000)
      {

      label19:
        sub_003E8 (0x00000000, var7);
        var6 = 0x00000008;
        goto label23;
      }
      else
      {
        if ((var1 & 0x00000004) != 0x00000000)
        {
          var7 = 0x00000004;
          goto label19;
        }
        else
        {
          var7 = 0x00000008;
          if ((var1 & 0x00000008) != 0x00000000)
            goto label19;
          var6 = 0x00000008;
          if ((var1 & 0x00000100) == 0x00000000)
            goto label23;
          goto label27;
        }
      }
    }
  }
  var11 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001848
 */
void sub_01848 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[9] = s1;
  var1 = arg1;
  ((int *) sp)[8] = s0;
  var2 = ((arg2 ^ 0x0000FFFF) < 0x00000001);
  ((int *) sp)[10] = s2;
  var3 = sp;
  var4 = sp + 0x00000010;
  ((int *) sp)[11] = ra;
  if ((var2 & (((var1 ^ 0x00000001) < 0x00000001))) != 0x00000000)
  {
    sub_02524 (0x000208BC);
    sub_02534 (0x000208CC);
    sub_02534 (0x000208DC);
    sub_02534 (0x000208EC);
    sub_02534 (0x000208FC);
    var5 = (var1 < 0x00000001);
  }
  else
  {
    var5 = (var1 < 0x00000001);
  }
  if ((var2 & var5) != 0x00000000)
  {
    sub_02544 (0x000208FC);
    sub_02544 (0x000208EC);
    sub_02544 (0x000208DC);
    sub_02544 (0x000208CC);
    sub_02584 (0x000208BC);
    ra = ((int *) sp)[11];
  }
  else
  {
    ra = ((int *) sp)[11];
  }
  var6 = ((int *) sp)[10];
  var7 = ((int *) sp)[9];
  var8 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00001948
 */
void sub_01948 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_01848 (0x00000001, 0x0000FFFF);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001968
 */
void sub_01968 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_01848 (0x00000000, 0x0000FFFF);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001988
 */
void sub_01988 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[0];
  if (!(var1 == 0x00000000))
  {
    scePaf_7EC15225 (var1);
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000019B8
 */
void sub_019B8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_01D00 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000019D4
 */
int sub_019D4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFF90;
  ((int *) sp)[25] = s1;
  var1 = arg1;
  ((int *) sp)[24] = s0;
  var2 = sp;
  ((int *) sp)[26] = s2;
  ((int *) sp)[27] = ra;
  var3 = sp + 0x00000020;
  sub_01D1C (var2, var1, arg2);
  var6 = ((int *) sp)[0];
  ((int *) sp)[4] = 0x00000000;
  if (var6 == 0x00000000)
  {
    ((int *) sp)[13] = 0x00000000;
    ((int *) sp)[8] = 0x00000000;
    ((int *) sp)[9] = 0x00000000;
    ((int *) sp)[11] = 0x00000000;
    ((int *) sp)[12] = 0x00000000;
    ((int *) sp)[14] = 0x00000000;
    sub_01ADC (var3, arg2);
    var13 = sp + 0x00000050;
    sub_01D54 (var13, var1, var3);
    var16 = ((int *) sp)[20];
    var17 = sp + 0x00000034;
    sub_01988 (var17);
    sub_01988 (var3);
    var7 = (var16 + 0x00000018);
  }
  else
  {
    var7 = (var6 + 0x00000018);
  }
  ra = ((int *) sp)[27];
  var8 = ((int *) sp)[26];
  var9 = ((int *) sp)[25];
  var10 = ((int *) sp)[24];
  sp = sp + 0x00000070;
  return var7;
}

/**
 * Subroutine at address 0x00001A8C
 */
void sub_01A8C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = 0x00000000;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  if (!(arg2 == 0x00000000))
  {
    var1 = scePaf_CA79D58B (arg2);
  }
  sub_01D98 (arg1, arg2, var1);
  ra = ((int *) sp)[2];
  var6 = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001ADC
 */
void sub_01ADC (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var1 = arg1;
  ((int *) sp)[0] = s0;
  var2 = arg2;
  ((int *) sp)[3] = ra;
  var3 = ((int *) arg1)[0];
  if (!(var3 == 0x00000000))
  {
    scePaf_7EC15225 (var3);
  }
  var6 = ((int *) var2)[1];
  if (var6 != 0x00000000)
  {
    var12 = scePaf_FCB4E053 ((var6 + 0x00000001));
    ((int *) var1)[0] = var12;
    var13 = ((int *) var2)[1];
    var14 = ((int *) var2)[0];
    ((int *) var1)[1] = var13;
    scePaf_F95EA3F1 (var12, var14, (var13 + 0x00000001));
  }
  else
  {
    ((int *) var1)[0] = 0x00000000;
    ((int *) var1)[1] = 0x00000000;
  }
  ra = ((int *) sp)[3];
  var7 = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001B70
 */
void sub_01B70 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var1 = ((int *) arg1)[1];
  var2 = ((int *) arg1)[2];
  var3 = arg1;
  if (((var2 < (var1 + 0x00000001))) != 0x00000000)
  {
    sub_01E44 (arg1, (var2 + 0x0000000A));
    var1 = ((int *) var3)[1];
  }
  var4 = ((int *) var3)[0];
  var5 = var4 + (var1 << 0x00000002);
  if (!(var5 == 0x00000000))
  {
    var6 = ((int *) arg2)[0];
    ((int *) var5)[0] = var6;
  }
  ((int *) var3)[1] = (var1 + 0x00000001);
  ra = ((int *) sp)[2];
  var7 = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001BE4
 */
void sub_01BE4 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  var2 = ((int *) arg1)[0];
  if (var2 == 0x00000000)
  {
    ra = ((int *) sp)[1];
  }
  else
  {
    var3 = ((int *) var1)[1];
    if (var3 <= 0)
    {
    }
    else
    {
      var4 = var3 + 0xFFFFFFFF;
      while (1) {
        if (!(var4 != 0x00000000))
          break;
        var4 = var4 + 0xFFFFFFFF;
        continue;
      }
    }
    scePaf_7EC15225 (var2);
    ((int *) var1)[2] = 0x00000000;
    ((int *) var1)[0] = 0x00000000;
    ((int *) var1)[1] = 0x00000000;
    ra = ((int *) sp)[1];
  }
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001C38
 */
void sub_01C38 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  var2 = ((int *) arg1)[0];
  if (var2 == 0x00000000)
  {
    ra = ((int *) sp)[1];
  }
  else
  {
    var3 = ((int *) var1)[1];
    if (var3 <= 0)
    {
    }
    else
    {
      var4 = var3 + 0xFFFFFFFF;
      while (1) {
        if (!(var4 != 0x00000000))
          break;
        var4 = var4 + 0xFFFFFFFF;
        continue;
      }
    }
    scePaf_7EC15225 (var2);
    ((int *) var1)[2] = 0x00000000;
    ((int *) var1)[0] = 0x00000000;
    ((int *) var1)[1] = 0x00000000;
    ra = ((int *) sp)[1];
  }
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001C8C
 */
void sub_01C8C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var1 = ((int *) arg1)[1];
  var2 = ((int *) arg1)[2];
  var3 = arg1;
  if (((var2 < (var1 + 0x00000001))) != 0x00000000)
  {
    sub_01F04 (arg1, (var2 + 0x0000000A));
    var1 = ((int *) var3)[1];
  }
  var4 = ((int *) var3)[0];
  var5 = var4 + (var1 << 0x00000002);
  if (!(var5 == 0x00000000))
  {
    var6 = ((int *) arg2)[0];
    ((int *) var5)[0] = var6;
  }
  ((int *) var3)[1] = (var1 + 0x00000001);
  ra = ((int *) sp)[2];
  var7 = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001D00
 */
void sub_01D00 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_01FC4 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001D1C
 */
void sub_01D1C (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  var4 = sub_02070 (arg2, arg3);
  ((int *) var1)[0] = var4;
  ra = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001D54
 */
void sub_01D54 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[8] = s0;
  var1 = arg1;
  var2 = sp;
  ((int *) sp)[9] = ra;
  var5 = sub_02140 (arg2, arg3, var2);
  var6 = ((unsigned char *) sp)[0];
  ((int *) var1)[0] = var5;
  ((char *) var1)[4] = var6;
  ra = ((int *) sp)[9];
  var7 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00001D98
 */
void sub_01D98 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  var1 = arg3;
  ((int *) sp)[1] = s1;
  var2 = arg2;
  ((int *) sp)[0] = s0;
  var3 = arg1;
  ((int *) sp)[4] = ra;
  var4 = ((int *) arg1)[0];
  if (!(var4 == 0x00000000))
  {
    scePaf_7EC15225 (var4);
  }
  if (var2 == 0x00000000)
  {

  label12:
    ((int *) var3)[0] = 0x00000000;
    ((int *) var3)[1] = 0x00000000;
  }
  else
  {
    var7 = ((char *) var2)[0];
    if (!(var7 != 0x00000000))
      goto label12;
    var14 = scePaf_FCB4E053 ((var1 + 0x00000001));
    ((int *) var3)[0] = var14;
    ((int *) var3)[1] = var1;
    scePaf_F95EA3F1 (var14, var2, var1);
    var17 = ((int *) var3)[0];
    ((char *) (var17 + var1))[0] = 0x00000000;
  }
  ra = ((int *) sp)[4];
  var8 = ((int *) sp)[3];
  var9 = ((int *) sp)[2];
  var10 = ((int *) sp)[1];
  var11 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00001E44
 */
void sub_01E44 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  var1 = arg2;
  ((int *) sp)[0] = s0;
  ((int *) sp)[3] = ra;
  ((int *) sp)[1] = s1;
  var2 = ((int *) arg1)[0];
  var3 = arg1;
  if (var2 != 0x00000000)
  {
    var12 = scePaf_FCB4E053 ((arg2 << 0x00000002));
    var13 = ((int *) var3)[1];
    var14 = var12;
    var15 = 0x00000000;
    if (var13 <= 0)
    {
      var23 = ((int *) var3)[0];
    }
    else
    {
      var16 = ((int *) var3)[0];
      var17 = 0x00000000 << 0x00000002;
      while (1) {
        var18 = var14 + var17;
        var15 = var15 + 0x00000001;
        if (!(var18 == 0x00000000))
        {
          var19 = ((int *) (var16 + var17))[0];
          ((int *) var18)[0] = var19;
        }
        var17 = var15 << 0x00000002;
        if (((var15 < var13)) != 0x00000000)
          continue;
        break;
      }
    }
    if (!(var13 <= 0))
    {
      var20 = var13 + 0xFFFFFFFF;
      while (1) {
        if (!(var20 != 0x00000000))
          break;
        var20 = var20 + 0xFFFFFFFF;
        continue;
      }
    }
    scePaf_7EC15225 (var16);
    ((int *) var3)[2] = var1;
    ((int *) var3)[0] = var14;
  }
  else
  {
    var6 = scePaf_FCB4E053 ((arg2 << 0x00000002));
    ((int *) var3)[0] = var6;
    ((int *) var3)[2] = var1;
  }
  ra = ((int *) sp)[3];
  var7 = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001F04
 */
void sub_01F04 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  var1 = arg2;
  ((int *) sp)[0] = s0;
  ((int *) sp)[3] = ra;
  ((int *) sp)[1] = s1;
  var2 = ((int *) arg1)[0];
  var3 = arg1;
  if (var2 != 0x00000000)
  {
    var12 = scePaf_FCB4E053 ((arg2 << 0x00000002));
    var13 = ((int *) var3)[1];
    var14 = var12;
    var15 = 0x00000000;
    if (var13 <= 0)
    {
      var23 = ((int *) var3)[0];
    }
    else
    {
      var16 = ((int *) var3)[0];
      var17 = 0x00000000 << 0x00000002;
      while (1) {
        var18 = var14 + var17;
        var15 = var15 + 0x00000001;
        if (!(var18 == 0x00000000))
        {
          var19 = ((int *) (var16 + var17))[0];
          ((int *) var18)[0] = var19;
        }
        var17 = var15 << 0x00000002;
        if (((var15 < var13)) != 0x00000000)
          continue;
        break;
      }
    }
    if (!(var13 <= 0))
    {
      var20 = var13 + 0xFFFFFFFF;
      while (1) {
        if (!(var20 != 0x00000000))
          break;
        var20 = var20 + 0xFFFFFFFF;
        continue;
      }
    }
    scePaf_7EC15225 (var16);
    ((int *) var3)[2] = var1;
    ((int *) var3)[0] = var14;
  }
  else
  {
    var6 = scePaf_FCB4E053 ((arg2 << 0x00000002));
    ((int *) var3)[0] = var6;
    ((int *) var3)[2] = var1;
  }
  ra = ((int *) sp)[3];
  var7 = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00001FC4
 */
void sub_01FC4 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  var1 = arg1;
  ((int *) sp)[1] = s1;
  ((int *) sp)[4] = ra;
  ((int *) sp)[2] = s2;
  ((int *) sp)[0] = s0;
  var4 = sub_02378 (arg1);
  var5 = var4;
  if (!(var4 == 0x00000000))
  {
    var6 = ((int *) var5)[1];
    while (1) {
      if (var6 != 0x00000000)
      {
        var5 = var6;
      }
      else
      {
        var7 = ((int *) var5)[2];
        if (var7 == 0x00000000)
        {
          var12 = ((int *) var5)[0];
          var13 = var5 + 0x00000020;
          if (!(var12 == 0x00000000))
          {
            var14 = ((int *) var12)[1];
            if (var14 == var5)
            {
              ((int *) var12)[1] = 0x00000000;
            }
            else
            {
              ((int *) var12)[2] = 0x00000000;
              var13 = var5 + 0x00000020;
            }
          }
          sub_01988 (var13);
          sub_01988 ((var5 + 0x0000000C));
          scePaf_7EC15225 (var5);
          var5 = var12;
        }
        else
        {
          var5 = var7;
        }
      }
      if (!(var5 != 0x00000000))
        break;
      var6 = ((int *) var5)[1];
      continue;
    }
  }
  ((int *) var1)[1] = 0x00000000;
  ((int *) var1)[0] = 0x00000000;
  ra = ((int *) sp)[4];
  var8 = ((int *) sp)[3];
  var9 = ((int *) sp)[2];
  var10 = ((int *) sp)[1];
  var11 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00002070
 */
int sub_02070 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[6] = s2;
  ((int *) sp)[7] = ra;
  ((int *) sp)[5] = s1;
  ((int *) sp)[4] = s0;
  var1 = ((int *) arg1)[0];
  var2 = arg2;
  if (var1 == 0x00000000)
  {

  label23:
    var8 = 0x00000000;
  }
  else
  {
    var3 = ((int *) var2)[0];
    while (1) {
      var4 = ((int *) var1)[3];
      var5 = ((char *) var3)[0];
      var6 = ((char *) var4)[0];
      var7 = 0x00000000;
      if (((var5 < var6)) == 0x00000000)
      {
        var22 = scePaf_66FE90D7 (var3, var4);
        if (!(var22 >= 0))
        {
          var7 = 0x00000001;
        }
      }
      else
      {
        var7 = 0x00000001;
      }
      if (var7 == 0x00000000)
      {
        var12 = ((int *) var1)[3];
        var13 = ((int *) var2)[0];
        var14 = ((char *) var12)[0];
        var15 = ((char *) var13)[0];
        var16 = 0x00000000;
        if (((var14 < var15)) == 0x00000000)
        {
          var19 = scePaf_66FE90D7 (var12, var13);
          if (!(var19 >= 0))
          {
            var16 = 0x00000001;
          }
        }
        else
        {
          var16 = 0x00000001;
        }
        var8 = var1;
        if (var16 == 0x00000000)
          break;
        var1 = ((int *) var1)[2];

      label21:
        if (!(var1 != 0x00000000))
          goto label23;
        var3 = ((int *) var2)[0];
        continue;
      }
      else
      {
        var1 = ((int *) var1)[1];
        goto label21;
      }
    }
  }
  ra = ((int *) sp)[7];
  var9 = ((int *) sp)[6];
  var10 = ((int *) sp)[5];
  var11 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return var8;
}

/**
 * Subroutine at address 0x00002140
 */
int sub_02140 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[10] = s6;
  var1 = arg3;
  ((int *) sp)[9] = s5;
  var2 = arg1;
  ((int *) sp)[8] = s4;
  var3 = 0x00000000;
  ((int *) sp)[7] = s3;
  var4 = 0x00000000;
  ((int *) sp)[6] = s2;
  ((int *) sp)[12] = ra;
  ((int *) sp)[11] = s7;
  ((int *) sp)[5] = s1;
  ((int *) sp)[4] = s0;
  var5 = ((int *) arg1)[0];
  var6 = arg2;
  if (var5 == 0x00000000)
  {

  label41:
    var18 = scePaf_FCB4E053 (0x00000030);
    var5 = var18;
    if (!(var18 == 0x00000000))
    {
      var19 = var18 + 0x0000000C;
      ((int *) var5)[0] = var3;
      ((int *) var5)[1] = 0x00000000;
      ((int *) var5)[2] = 0x00000000;
      ((int *) var5)[3] = 0x00000000;
      ((int *) var19)[1] = 0x00000000;
      sub_01ADC (var19, var6);
      var22 = ((int *) var6)[4];
      var23 = ((int *) var6)[3];
      var24 = var5 + 0x00000020;
      ((int *) var5)[7] = var22;
      ((int *) var5)[6] = var23;
      ((int *) var5)[8] = 0x00000000;
      ((int *) var24)[1] = 0x00000000;
      sub_01ADC (var24, (var6 + 0x00000014));
      ((char *) var5)[44] = 0x00000001;
    }
    if (var4 != 0x00000000)
    {
      if (var4 < 0)
      {
        ((int *) var3)[1] = var5;
      }
      else
      {
        ((int *) var3)[2] = var5;
      }
    }
    else
    {
      ((int *) var2)[0] = var5;
    }
    var27 = ((int *) var2)[1];
    ((int *) var2)[1] = (var27 + 0x00000001);
    sub_023B0 (var2, var5);
    if (!(var1 == 0x00000000))
    {
      ((char *) var1)[0] = 0x00000001;
    }

  label58:
    var30 = var5;
  }
  else
  {
    while (1) {
      var3 = var5;
      if (var5 == 0x00000000)
      {

      label15:
        var11 = ((int *) var6)[0];
      }
      else
      {
        var7 = ((int *) var5)[1];
        if (var7 == 0x00000000)
        {
          var11 = ((int *) var6)[0];
        }
        else
        {
          var8 = ((char *) var7)[44];
          if (var8 == 0x00000000)
          {
            var11 = ((int *) var6)[0];
          }
          else
          {
            var9 = ((int *) var5)[2];
            if (var9 == 0x00000000)
            {
              var11 = ((int *) var6)[0];
            }
            else
            {
              var10 = ((char *) var9)[44];
              if (!(var10 != 0x00000000))
                goto label15;
              sub_023B0 (var2, var5);
              var11 = ((int *) var6)[0];
            }
          }
        }
      }
      var12 = ((int *) var5)[3];
      var13 = ((char *) var11)[0];
      var14 = ((char *) var12)[0];
      var15 = 0x00000000;
      if (((var13 < var14)) == 0x00000000)
      {
        var55 = scePaf_66FE90D7 (var11, var12);
        if (!(var55 >= 0))
        {
          var15 = 0x00000001;
        }
      }
      else
      {
        var15 = 0x00000001;
      }
      if (var15 == 0x00000000)
      {
        var39 = ((int *) var5)[3];
        var40 = ((int *) var6)[0];
        var41 = ((char *) var39)[0];
        var42 = ((char *) var40)[0];
        var43 = 0x00000000;
        if (((var41 < var42)) == 0x00000000)
        {
          var52 = scePaf_66FE90D7 (var39, var40);
          if (!(var52 >= 0))
          {
            var43 = 0x00000001;
          }
        }
        else
        {
          var43 = 0x00000001;
        }
        var4 = 0x00000001;
        if (var43 == 0x00000000)
        {
          sub_01ADC ((var5 + 0x0000000C), var6);
          var46 = ((int *) (arg2 + 0x0000000C))[1];
          var47 = ((int *) var6)[3];
          ((int *) var5)[7] = var46;
          ((int *) var5)[6] = var47;
          sub_01ADC ((var5 + 0x00000020), (var6 + 0x00000014));
          if (var1 != 0x00000000)
          {
            ((char *) var1)[0] = 0x00000000;
            goto label58;
          }
          else
          {
            var30 = var5;
          }
        }
        else
        {
          var5 = ((int *) var5)[2];

        label40:
          if (var5 != 0x00000000)
            continue;
          break;
        }
      }
      else
      {
        var5 = ((int *) var5)[1];
        var4 = 0xFFFFFFFF;
        goto label40;
      }
      goto label59;
    }
    goto label41;
  }

label59:
  ra = ((int *) sp)[12];
  var31 = ((int *) sp)[11];
  var32 = ((int *) sp)[10];
  var33 = ((int *) sp)[9];
  var34 = ((int *) sp)[8];
  var35 = ((int *) sp)[7];
  var36 = ((int *) sp)[6];
  var37 = ((int *) sp)[5];
  var38 = ((int *) sp)[4];
  sp = sp + 0x00000040;
  return var30;
}

/**
 * Subroutine at address 0x00002378
 */
int sub_02378 (int arg1)
{
  var1 = ((int *) arg1)[0];
  var2 = 0x00000000;
  if (!(var1 == 0x00000000))
  {
    var3 = ((int *) var1)[1];
    if (var3 == 0x00000000)
    {
      var2 = var1;
    }
    else
    {
      var4 = var3;
      while (1) {
        var5 = ((int *) var4)[1];
        var4 = var5;
        if (var5 != 0x00000000)
          continue;
        break;
      }
      var2 = var4;
    }
  }
  return var2;
}

/**
 * Subroutine at address 0x000023B0
 */
void sub_023B0 (int arg1, int arg2)
{
  var1 = ((int *) arg2)[1];
  ((char *) arg2)[44] = 0x00000001;
  if (!(var1 == 0x00000000))
  {
    ((char *) var1)[44] = 0x00000000;
  }
  var2 = ((int *) arg2)[2];
  if (var2 != 0x00000000)
  {
    ((char *) var2)[44] = 0x00000000;
  }
  var3 = ((int *) arg2)[0];
  if (var3 != 0x00000000)
  {
    var4 = ((char *) var3)[44];
    if (var4 == 0x00000000)
    {

    label37:
    }
    else
    {
      var5 = ((int *) var3)[0];
      var6 = ((int *) var5)[0];
      var7 = 0x00000000;
      if (!(var6 == 0x00000000))
      {
        var8 = ((int *) var6)[1];
        var7 = (0x00000000 - (((var8 ^ var5) < 0x00000001))) | 0x00000001;
        var5 = ((int *) var3)[0];
      }
      var9 = ((int *) var5)[1];
      if (var9 == var3)
      {
        var12 = ((int *) var3)[1];
        if (var12 == arg2)
        {
          var13 = ((int *) var3)[2];
          ((int *) var5)[0] = var3;
          ((int *) var3)[2] = var5;
          ((int *) var5)[1] = var13;
          if (!(var13 == 0x00000000))
          {
            ((int *) var13)[0] = var5;
          }
          var11 = var3;
          ((char *) var5)[44] = 0x00000001;

        label32:
          ((char *) var3)[44] = 0x00000000;
        }
        else
        {
          ((int *) var3)[2] = var1;
          if (!(var1 == 0x00000000))
          {
            ((int *) var1)[0] = var3;
          }
          ((int *) var3)[0] = arg2;
          ((int *) arg2)[1] = var3;
          ((int *) arg2)[2] = var5;
          ((int *) var5)[0] = arg2;
          ((int *) var5)[1] = var2;
          if (!(var2 == 0x00000000))
          {
            ((int *) var2)[0] = var5;
          }
          var11 = arg2;
          ((char *) var5)[44] = 0x00000001;
          ((char *) arg2)[44] = 0x00000000;
        }
      }
      else
      {
        var10 = ((int *) var3)[1];
        if (var10 == arg2)
        {
          ((int *) var3)[1] = var2;
          if (!(var2 == 0x00000000))
          {
            ((int *) var2)[0] = var3;
          }
          ((int *) var3)[0] = var10;
          ((int *) var10)[2] = var3;
          ((int *) var10)[1] = var5;
          ((int *) var5)[0] = var10;
          ((int *) var5)[2] = var1;
          if (!(var1 == 0x00000000))
          {
            ((int *) var1)[0] = var5;
          }
          var11 = var10;
          ((char *) var5)[44] = 0x00000001;
          ((char *) var10)[44] = 0x00000000;
        }
        else
        {
          ((int *) var3)[1] = var5;
          ((int *) var5)[0] = var3;
          ((int *) var5)[2] = var10;
          if (!(var10 == 0x00000000))
          {
            ((int *) var10)[0] = var5;
          }
          ((char *) var5)[44] = 0x00000001;
          var11 = var3;
          goto label32;
        }
      }
      if (var7 != 0x00000000)
      {
        ((int *) var11)[0] = var6;
        if (var7 < 0)
        {
          ((int *) var6)[1] = var11;
        }
        else
        {
          ((int *) var6)[2] = var11;
          goto label37;
        }
      }
      else
      {
        ((int *) arg1)[0] = var11;
        ((int *) var11)[0] = 0x00000000;
      }
    }
  }
  else
  {
    ((char *) arg2)[44] = 0x00000000;
  }
  return;
}

/**
 * Subroutine at address 0x00002524
 */
void sub_02524 (int arg1)
{
  ((int *) arg1)[2] = 0x00000000;
  ((int *) arg1)[0] = 0x00000000;
  ((int *) arg1)[1] = 0x00000000;
  return;
}

/**
 * Subroutine at address 0x00002534
 */
void sub_02534 (int arg1)
{
  ((int *) arg1)[2] = 0x00000000;
  ((int *) arg1)[0] = 0x00000000;
  ((int *) arg1)[1] = 0x00000000;
  return;
}

/**
 * Subroutine at address 0x00002544
 */
void sub_02544 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[0];
  if (var1 == 0x00000000)
  {
    ra = ((int *) sp)[0];
  }
  else
  {
    var2 = ((int *) arg1)[1];
    var3 = var2 + 0xFFFFFFFF;
    if (var3 < 0)
    {
    }
    else
    {
      var4 = var3 + 0xFFFFFFFF;
      while (1) {
        if (!(var4 >= 0))
          break;
        var4 = var4 + 0xFFFFFFFF;
        continue;
      }
    }
    scePaf_7EC15225 (var1);
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002584
 */
void sub_02584 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[0];
  if (var1 == 0x00000000)
  {
    ra = ((int *) sp)[0];
  }
  else
  {
    var2 = ((int *) arg1)[1];
    var3 = var2 + 0xFFFFFFFF;
    if (var3 < 0)
    {
    }
    else
    {
      var4 = var3 + 0xFFFFFFFF;
      while (1) {
        if (!(var4 >= 0))
          break;
        var4 = var4 + 0xFFFFFFFF;
        continue;
      }
    }
    scePaf_7EC15225 (var1);
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000025C4
 */
int sub_025C4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFA0;
  var1 = arg2;
  ((int *) sp)[21] = s1;
  var2 = sp;
  ((int *) sp)[20] = s0;
  ((int *) sp)[2] = var1;
  ((int *) sp)[1] = var1;
  ((int *) sp)[22] = ra;
  ((char *) sp)[17] = 0x00000001;
  ((int *) sp)[0] = 0x00000014;
  ((char *) sp)[16] = 0x00000000;
  var5 = sceVshBridge_A5628F0D (arg1, 0x00000000, var2);
  var6 = sp + 0x00000020;
  var7 = sp + 0x00000040;
  var8 = var5;
  if (!(var5 < 0))
  {
    ((int *) sp)[11] = 0x00000042;
    ((int *) sp)[8] = 0x00000014;
    ((int *) sp)[10] = 0x00000800;
    ((int *) sp)[9] = 0x00000000;
    ((int *) sp)[12] = 0x00000000;
    var11 = ModuleMgrForUser_50F0C1EC (var5, 0x00000000, 0x00000000, var7, var6);
    var8 = var11;
    if (!(var11 < 0))
    {
      var8 = var5;
    }
  }
  ra = ((int *) sp)[22];
  var12 = ((int *) sp)[21];
  var13 = ((int *) sp)[20];
  sp = sp + 0x00000060;
  return var8;
}

/**
 * Subroutine at address 0x00002664
 */
void sub_02664 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  ((int *) sp)[13] = ra;
  var1 = sp + 0x00000020;
  var2 = sp;
  if (arg1 != 0x00000000)
  {
    ((int *) sp)[0] = 0x00000014;
    ((int *) sp)[2] = 0x00000800;
    ((int *) sp)[3] = 0x00000042;
    ((int *) sp)[1] = 0x00000000;
    ((int *) sp)[4] = 0x00000000;
    var6 = ModuleMgrForUser_D1FF982A (arg1, 0x00000000, 0x00000000, var1, var2);
    if (!(var6 < 0))
    {
      var9 = ModuleMgrForUser_2E0911AA (arg1);
    }
  }
  ra = ((int *) sp)[13];
  var3 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x000026E0
 */
void sub_026E0 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x0002092C);
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[5] = ra;
  if (var1 != 0x00000000)
  {
    sceMpeg_874624D6 ();
  }
  var2 = *((int *) 0x00020930);
  sub_02664 (var2);
  var5 = *((int *) 0x0002092C);
  *((int *) 0x00020930) = 0x00000000;
  sub_02664 (var5);
  var8 = *((int *) 0x00020928);
  *((int *) 0x0002092C) = 0x00000000;
  sub_02664 (var8);
  var11 = *((int *) 0x00020924);
  *((int *) 0x00020928) = 0x00000000;
  sub_02664 (var11);
  var14 = *((int *) 0x00020920);
  *((int *) 0x00020924) = 0x00000000;
  sub_02664 (var14);
  *((int *) 0x00020920) = 0x00000000;
  ra = ((int *) sp)[5];
  var17 = ((int *) sp)[4];
  var18 = ((int *) sp)[3];
  var19 = ((int *) sp)[2];
  var20 = ((int *) sp)[1];
  var21 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00002788
 */
void sub_02788 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = sub_025C4 ("flash0:/kd/me_for_vsh.prx", 0x00000000);
  var6 = sub_025C4 ("flash0:/kd/videocodec.prx", 0x00000000);
  *((int *) 0x00020920) = var6;
  var9 = sub_025C4 ("flash0:/kd/audiocodec.prx", 0x00000000);
  *((int *) 0x00020924) = var9;
  var12 = sub_025C4 ("flash0:/kd/mpegbase.prx", 0x00000000);
  *((int *) 0x00020928) = var12;
  var15 = sub_025C4 ("flash0:/kd/mpeg_vsh.prx", 0x00000000);
  *((int *) 0x0002092C) = var15;
  if (var15 != 0x00000000)
  {
    sceMpeg_682A619B ();
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002824
 */
void vsh_58925420 ()
{
  sp = sp + 0xFFFFFFE0;
  var1 = sp;
  ((int *) sp)[4] = ra;
  sceVshCommonUtil_FA969B6A (var1, 0x00000000);
  sub_026E0 ();
  sceVshBridge_CBDA2613 ();
  var10 = sub_025C4 ("flash0:/kd/mebooter.prx", 0x00000000);
  sceVshBridge_A7F0E8E0 ();
  sub_02788 ();
  var17 = sub_025C4 ("flash0:/kd/libatrac3plus.prx", 0x00000000);
  var18 = sp;
  *((int *) 0x00020930) = var17;
  sceVshCommonUtil_D4D66154 (var18);
  ra = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00002894
 */
void vsh_78A67F41 ()
{
  sp = sp + 0xFFFFFFE0;
  var1 = sp;
  ((int *) sp)[4] = ra;
  sceVshCommonUtil_FA969B6A (var1, 0x00000000);
  sub_026E0 ();
  sceVshBridge_CBDA2613 ();
  var10 = sub_025C4 ("flash0:/kd/mebooter_umdvideo.prx", 0x00000000);
  sceVshBridge_A7F0E8E0 ();
  sub_02788 ();
  var15 = sp;
  sceVshCommonUtil_D4D66154 (var15);
  ra = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00002930
 */
void sub_02930 ()
{
  sp = sp + 0xFFFFFFE0;
  var1 = sp;
  ((int *) sp)[4] = ra;
  sceVshCommonUtil_FA969B6A (var1, 0x00000000);
  var6 = sub_025C4 ("flash0:/kd/usbstor.prx", 0x00000000);
  *((int *) 0x00020934) = var6;
  var9 = sub_025C4 ("flash0:/kd/usbstormgr.prx", 0x00000000);
  *((int *) 0x00020938) = var9;
  var12 = sub_025C4 ("flash0:/kd/usbstorms.prx", 0x00000000);
  *((int *) 0x0002093C) = var12;
  var15 = sub_025C4 ("flash0:/kd/usbstorboot.prx", 0x00000000);
  var16 = sp;
  *((int *) 0x00020940) = var15;
  sceVshCommonUtil_D4D66154 (var16);
  ra = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00002A40
 */
void sub_02A40 ()
{
  sp = sp + 0xFFFFFFE0;
  var1 = sp;
  ((int *) sp)[4] = ra;
  sceVshCommonUtil_FA969B6A (var1, 0x00000000);
  var6 = sub_025C4 ("flash0:/kd/lflash_fatfmt.prx", 0x00000000);
  var7 = sp;
  *((int *) 0x00020944) = var6;
  sceVshCommonUtil_D4D66154 (var7);
  ra = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00002A80
 */
void sub_02A80 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  var1 = sp;
  ((int *) sp)[5] = ra;
  sceVshCommonUtil_FA969B6A (var1, 0x00000000);
  var4 = *((int *) 0x00020944);
  sub_02664 (var4);
  var7 = sp;
  *((int *) 0x00020944) = 0x00000000;
  sceVshCommonUtil_D4D66154 (var7);
  ra = ((int *) sp)[5];
  var10 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00002AC0
 */
void vsh_AA8B9556 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (((0x0000FFFF < (arg1 + 0x7FF80000))) != 0x00000000)
  {
    var9 = ThreadManForUser_3AD58B8C ();
    var4 = 0x00000002;
  }
  else
  {
    var3 = ThreadManForUser_3AD58B8C ();
    var4 = 0x00000001;
  }
  *((int *) 0x00020948) = var4;
  ThreadManForUser_27E22EC2 (var3);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002B18
 */
void sub_02B18 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  var3 = ThreadManForUser_3AD58B8C ();
  *((int *) 0x00020948) = arg1;
  ThreadManForUser_27E22EC2 (var3);
  ra = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002B4C
 */
void sub_02B4C ()
{
  sp = sp + 0xFFFFFFE0;
  var1 = sp;
  ((int *) sp)[4] = ra;
  vsh_741C9BE1 (0x0000000A, var1, 0x0000000C);
  var4 = sp;
  ((int *) sp)[1] = 0x00000001;
  vsh_2B8B7775 (0x0000000A);
  vsh_595F8E64 ();
  ra = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00002B90
 */
void sub_02B90 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  var3 = ThreadManForUser_3AD58B8C ();
  var4 = *((int *) 0x00020948);
  ThreadManForUser_27E22EC2 (var3);
  if (var4 != 0x00000000)
  {
    var11 = scePaf_D4FAE7D0 ("impose_plugin");
    if (var11 == 0x00000000)
    {

    label20:
      ra = ((int *) sp)[2];
    }
    else
    {
      var14 = scePaf_338C3774 (var11, 0x00000001);
      if (var14 == 0x00000000)
        goto label20;
      var15 = ((int *) var14)[0];
      var18 var19 = (*var15) (var4, 0x00002B4C);
      var22 = ThreadManForUser_3AD58B8C ();
      *((int *) 0x00020948) = 0x00000000;
      ThreadManForUser_27E22EC2 (var22);
      ra = ((int *) sp)[2];
    }
  }
  else
  goto label20;
  var7 = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002C28
 */
void sub_02C28 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  ((int *) sp)[3] = ra;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var3 = scePaf_CA79D58B (0x00020974);
  var4 = var3 + 0x00000001;
  *((int *) 0x000209FC) = var4;
  var7 = scePaf_5FAC9869 (var4);
  var8 = *((int *) 0x000209FC);
  *((int *) 0x00020A00) = var7;
  scePaf_6829D7AF (var7, 0x00000000, var8);
  var11 = *((int *) 0x00020A00);
  var12 = *((int *) 0x000209FC);
  scePaf_809A4F83 (var11, var12, 0x00020974);
  ra = ((int *) sp)[3];
  var15 = ((int *) sp)[2];
  var16 = ((int *) sp)[1];
  var17 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002CA4
 */
void sub_02CA4 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  *((int *) 0x0002094C) = arg1;
  sub_06778 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002CC4
 */
void sub_02CC4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  scePower_DB62C9CF ();
  sceSuspendForUser_3AEE7261 (0x00000000);
  sceVshBridge_0E10922A (0x00000001);
  var7 = *((int *) 0x0002094C);
  ra = ((int *) sp)[2];
  if (!(((var7 < 0x00000009)) == 0x00000000))
  {
    var8 = ((int *) ((var7 << 0x00000002) + 0x0001C948))[0];
    switch () {
    case 0:

    label41:
      ra = ((int *) sp)[2];
      goto label42;
    case 1:
      sceVshBridge_F4873F4D (0x00020974, 0x00020950);

    label31:
      scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
      *((int *) 0x00020950) = 0x00000024;
      *((int *) 0x00020960) = 0x00000400;
      *((int *) 0x0002095C) = 0x0001C944;
      *((int *) 0x00020954) = 0x00000000;
      *((int *) 0x00020958) = 0x00000000;
      var17 = vsh_B55DCA45 ();
      *((int *) 0x00020964) = var17;
      *((int *) 0x00020968) = 0x00000000;
      *((int *) 0x0002096C) = 0x00000000;
      *((int *) 0x00020970) = 0x00000000;
      sceVshBridge_40716012 (0x00020950);
      var20 = *((int *) 0x00020A00);
      if (!(var20 != 0x00000000))
        goto label41;
      scePaf_545FE2DA (var20);
      ra = ((int *) sp)[2];
      goto label42;
    case 2:
      sceVshBridge_B7C46DCA (0x00020974, 0x00020950);
      goto label31;
    case 3:
      sceVshBridge_F35BFB7D (0x00020974, 0x00020950);
      goto label31;
    case 4:
      sceVshBridge_97FB006F (0x00020974, 0x00020950);
      goto label31;
    case 5:
      sceVshBridge_029EF6C9 (0x00020974, 0x00020950);
      goto label31;
    case 6:
    case 7:
      var31 = *((int *) 0x000209F8);
      var32 = *((int *) 0x000209F4);
      sceVshBridge_83528906 (var31, var32, 0x00020950);
      goto label31;
    case 8:
      sceVshBridge_40716012 (0x00020950);
      goto label31;
    }
  }

label42:
  var9 = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002E5C
 */
void vsh_FDEE4109 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  scePaf_FF2F98C6 (0x00020974, "disc0:/PSP_GAME/SYSDIR/EBOOT.BIN", 0x00000080);
  sub_02C28 ();
  scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
  var7 = *((int *) 0x000209FC);
  var8 = *((int *) 0x00020A00);
  *((int *) 0x00020950) = 0x00000024;
  *((int *) 0x00020954) = var7;
  *((int *) 0x00020960) = 0x00000400;
  *((int *) 0x00020958) = var8;
  *((int *) 0x0002095C) = "game";
  var11 = vsh_B55DCA45 ();
  *((int *) 0x00020964) = var11;
  *((int *) 0x00020970) = 0x00000000;
  *((int *) 0x00020968) = 0x00000000;
  *((int *) 0x0002096C) = 0x00000000;
  sub_02CA4 (0x00000001);
  ra = ((int *) sp)[2];
  var14 = ((int *) sp)[1];
  var15 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002F08
 */
void vsh_80FB409B ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  scePaf_FF2F98C6 (0x00020974, "disc0:/PSP_GAME/SYSDIR/UPDATE/EBOOT.BIN", 0x00000080);
  sub_02C28 ();
  scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
  var7 = *((int *) 0x000209FC);
  var8 = *((int *) 0x00020A00);
  *((int *) 0x00020950) = 0x00000024;
  *((int *) 0x00020954) = var7;
  *((int *) 0x00020958) = var8;
  *((int *) 0x0002095C) = "updater";
  *((int *) 0x00020970) = 0x00000000;
  *((int *) 0x00020960) = 0x00000000;
  *((int *) 0x00020964) = 0x00000000;
  *((int *) 0x00020968) = 0x00000000;
  *((int *) 0x0002096C) = 0x00000000;
  sub_02CA4 (0x00000002);
  ra = ((int *) sp)[2];
  var11 = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00002FAC
 */
void vsh_F1A72B42 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  scePaf_FF2F98C6 (0x00020974, arg1, 0x00000080);
  sub_02C28 ();
  scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
  var7 = *((int *) 0x000209FC);
  var8 = *((int *) 0x00020A00);
  *((int *) 0x00020950) = 0x00000024;
  *((int *) 0x00020954) = var7;
  *((int *) 0x00020960) = 0x00000400;
  *((int *) 0x00020958) = var8;
  *((int *) 0x0002095C) = "game";
  var11 = vsh_B55DCA45 ();
  *((int *) 0x00020964) = var11;
  *((int *) 0x00020970) = 0x00000000;
  *((int *) 0x00020968) = 0x00000000;
  *((int *) 0x0002096C) = 0x00000000;
  sub_02CA4 (0x00000004);
  ra = ((int *) sp)[2];
  var14 = ((int *) sp)[1];
  var15 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003054
 */
void vsh_B55C095C (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  scePaf_FF2F98C6 (0x00020974, arg1, 0x00000080);
  sub_02C28 ();
  scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
  var7 = *((int *) 0x000209FC);
  var8 = *((int *) 0x00020A00);
  *((int *) 0x00020950) = 0x00000024;
  *((int *) 0x00020954) = var7;
  *((int *) 0x00020958) = var8;
  *((int *) 0x0002095C) = "updater";
  *((int *) 0x00020970) = 0x00000000;
  *((int *) 0x00020960) = 0x00000000;
  *((int *) 0x00020964) = 0x00000000;
  *((int *) 0x00020968) = 0x00000000;
  *((int *) 0x0002096C) = 0x00000000;
  sub_02CA4 (0x00000003);
  ra = ((int *) sp)[2];
  var11 = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000030F4
 */
void vsh_7DA81064 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[4] = ra;
  if (arg2 == 0x00000000)
  {
    vsh_595F8E64 ();
  }
  else
  {
  }
  scePaf_FF2F98C6 (0x00020974, "usb0", 0x00000080);
  sub_02C28 ();
  scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
  var7 = *((int *) 0x000209FC);
  var8 = *((int *) 0x00020A00);
  *((int *) 0x00020950) = 0x00000024;
  *((int *) 0x00020954) = var7;
  *((int *) 0x00020958) = var8;
  *((int *) 0x00020960) = 0x00000400;
  *((int *) 0x0002095C) = "game";
  var11 = vsh_B55DCA45 ();
  *((int *) 0x000209F8) = arg1;
  *((int *) 0x000209F4) = arg2;
  *((int *) 0x00020970) = 0x00000000;
  *((int *) 0x00020964) = var11;
  *((int *) 0x00020968) = 0x00000000;
  *((int *) 0x0002096C) = 0x00000000;
  sub_02CA4 (0x00000006);
  ra = ((int *) sp)[4];
  var14 = ((int *) sp)[3];
  var15 = ((int *) sp)[2];
  var16 = ((int *) sp)[1];
  var17 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000031DC
 */
void vsh_A3C7DF11 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = s5;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[6] = ra;
  if (arg2 == 0x00000000)
  {
    vsh_595F8E64 ();
  }
  else
  {
  }
  scePaf_FF2F98C6 (0x00020974, "wlan0", 0x00000080);
  scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
  *((int *) 0x00020950) = 0x00000024;
  *((int *) 0x00020954) = arg3;
  *((int *) 0x00020958) = arg4;
  *((int *) 0x00020960) = 0x00000400;
  *((int *) 0x0002095C) = "game";
  var7 = vsh_B55DCA45 ();
  *((int *) 0x000209F8) = arg1;
  *((int *) 0x000209F4) = arg2;
  *((int *) 0x00020970) = 0x00000000;
  *((int *) 0x00020964) = var7;
  *((int *) 0x00020968) = 0x00000000;
  *((int *) 0x0002096C) = 0x00000000;
  sub_02CA4 (0x00000007);
  ra = ((int *) sp)[6];
  var10 = ((int *) sp)[5];
  var11 = ((int *) sp)[4];
  var12 = ((int *) sp)[3];
  var13 = ((int *) sp)[2];
  var14 = ((int *) sp)[1];
  var15 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000032C4
 */
void vsh_595F8E64 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
  *((int *) 0x00020950) = 0x00000024;
  *((int *) 0x00020960) = 0x00000400;
  *((int *) 0x0002095C) = 0x0001C944;
  *((int *) 0x00020954) = 0x00000000;
  *((int *) 0x00020958) = 0x00000000;
  var5 = vsh_B55DCA45 ();
  *((int *) 0x00020964) = var5;
  *((int *) 0x00020970) = 0x00000000;
  *((int *) 0x00020968) = 0x00000000;
  *((int *) 0x0002096C) = 0x00000000;
  sub_02CA4 (0x00000008);
  ra = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003340
 */
void vsh_8F76CA2A ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  scePaf_6829D7AF (0x00020950, 0x00000000, 0x00000024);
  *((int *) 0x00020950) = 0x00000024;
  *((int *) 0x0002095C) = 0x0001C944;
  *((int *) 0x00020970) = 0x00000000;
  *((int *) 0x00020954) = 0x00000000;
  *((int *) 0x00020958) = 0x00000000;
  *((int *) 0x00020960) = 0x00000000;
  *((int *) 0x00020964) = 0x00000000;
  *((int *) 0x00020968) = 0x00000000;
  *((int *) 0x0002096C) = 0x00000000;
  sub_02CA4 (0x00000008);
  ra = ((int *) sp)[2];
  var5 = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000033B4
 */
void module_start (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = s1;
  var2 = arg2;
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  sub_00000 ();
  if (!(((((var1 ^ 0x00000400) < 0x00000001)) | (((var1 ^ 0x00000020) < 0x00000001))) == 0x00000000))
  {
    var5 = ((int *) var2)[0];
    if (var5 == var1)
    {
      var11 = ((int *) var2)[1];
      if (var11 != 0x00000020)
      {
      }
      else
      {
        var14 = vsh_B55DCA45 ();
        scePaf_F95EA3F1 (var14, var2, var5);
      }
    }
    else
    {
    }
  }
  sub_0666C ();
  ra = ((int *) sp)[3];
  var8 = ((int *) sp)[2];
  var9 = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003450
 */
void module_stop ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1AF84 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003470
 */
void vsh_A0CBE1FE (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  var1 = arg1;
  ((int *) sp)[5] = ra;
  var2 = sp;
  scePaf_6829D7AF (var2, 0x00000000, 0x00000004);
  if (!(((var1 < 0x0000000C)) == 0x00000000))
  {
    var5 = ((int *) ((var1 << 0x00000002) + 0x0001CA14))[0];
    switch () {
    case 0:
      var6 = 0x00000001;

    label8:
      ((int *) sp)[0] = var6;
    case 9:
    case 10:
    case 11:
      goto label10;
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
      var6 = 0x00000004;
      goto label8;
    }
  }

label10:
  var7 = sp;
  var10 = sceVshBridge_2380DC08 ("fatmsOem0:", 0x02405852, var7, 0x00000004, 0x00000000, 0x00000000);
  var11 = var10;
  if (var10 != 0x00000000)
  {
    scePaf_C9831AFF ("vshIoDevctl(SCE_PR_SET_CODEPAGE) failed - 0x%x\n", var10);
  }
  else
  {
  }
  ra = ((int *) sp)[5];
  var12 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00003520
 */
void sub_03520 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  var3 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var3, "flash0:/vsh/module/opening_plugin.prx", "opening_plugin_main", 0x00000001);
  *((int *) 0x00020A04) = var3;
  ra = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000356C
 */
void sub_0356C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  var3 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var3, "flash0:/vsh/module/impose_plugin.prx", "impose_plugin_main", 0x00000001);
  *((int *) 0x00020A08) = var3;
  var8 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var8, "flash0:/vsh/module/auth_plugin.prx", "auth_plugin_main", 0x00000001);
  *((int *) 0x00020A0C) = var8;
  var13 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var13, "flash0:/vsh/module/osk_plugin.prx", "osk_plugin_main", 0x00000001);
  *((int *) 0x00020A34) = var13;
  var18 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var18, "flash0:/vsh/module/sysconf_plugin.prx", "sysconf_plugin_main", 0x00000001);
  *((int *) 0x00020A2C) = var18;
  ra = ((int *) sp)[1];
  var21 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003648
 */
void sub_03648 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  var3 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var3, "flash0:/vsh/module/music_plugin.prx", "music_plugin_main", 0x00000001);
  *((int *) 0x00020A10) = var3;
  var8 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var8, "flash0:/vsh/module/video_plugin.prx", "video_plugin_main", 0x00000001);
  *((int *) 0x00020A14) = var8;
  var13 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var13, "flash0:/vsh/module/msvideo_plugin.prx", "msvideo_plugin_main", 0x00000001);
  *((int *) 0x00020A18) = var13;
  var18 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var18, "flash0:/vsh/module/photo_plugin.prx", "photo_plugin_main", 0x00000001);
  *((int *) 0x00020A20) = var18;
  var23 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var23, "flash0:/vsh/module/netconf_plugin.prx", "netconf_plugin_main", 0x00000001);
  *((int *) 0x00020A24) = var23;
  var28 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var28, "flash0:/vsh/module/game_plugin.prx", "game_plugin_main", 0x00000001);
  *((int *) 0x00020A28) = var28;
  var33 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var33, "flash0:/vsh/module/savedata_plugin.prx", "savedata_plugin_main", 0x00000001);
  *((int *) 0x00020A1C) = var33;
  var38 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var38, "flash0:/vsh/module/update_plugin.prx", "update_plugin_main", 0x00000001);
  *((int *) 0x00020A30) = var38;
  var43 = scePaf_B7E6052B (0x00000004);
  scePaf_72A0044D (var43, "flash0:/vsh/module/netplay_client_plugin.prx", "netplay_plugin_main", 0x00000001);
  *((int *) 0x00020A38) = var43;
  ra = ((int *) sp)[1];
  var46 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003814
 */
void sub_03814 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[4] = ra;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020A0C);
  if (var1 != 0x00000000)
  {
    scePaf_4612DB4B (var1);
    scePaf_4E67BB08 (var1);
  }
  else
  {
  }
  var2 = *((int *) 0x00020A08);
  *((int *) 0x00020A0C) = 0x00000000;
  if (var2 != 0x00000000)
  {
    scePaf_4612DB4B (var2);
    scePaf_4E67BB08 (var2);
  }
  else
  {
  }
  var3 = *((int *) 0x00020A04);
  *((int *) 0x00020A08) = 0x00000000;
  if (var3 != 0x00000000)
  {
    scePaf_4612DB4B (var3);
    scePaf_4E67BB08 (var3);
  }
  else
  {
  }
  var4 = *((int *) 0x00020A10);
  *((int *) 0x00020A04) = 0x00000000;
  if (var4 != 0x00000000)
  {
    scePaf_4612DB4B (var4);
    scePaf_4E67BB08 (var4);
  }
  else
  {
  }
  var5 = *((int *) 0x00020A14);
  *((int *) 0x00020A10) = 0x00000000;
  if (var5 != 0x00000000)
  {
    scePaf_4612DB4B (var5);
    scePaf_4E67BB08 (var5);
  }
  else
  {
  }
  var6 = *((int *) 0x00020A18);
  *((int *) 0x00020A14) = 0x00000000;
  if (var6 != 0x00000000)
  {
    scePaf_4612DB4B (var6);
    scePaf_4E67BB08 (var6);
  }
  else
  {
  }
  var7 = *((int *) 0x00020A20);
  *((int *) 0x00020A18) = 0x00000000;
  if (var7 != 0x00000000)
  {
    scePaf_4612DB4B (var7);
    scePaf_4E67BB08 (var7);
  }
  else
  {
  }
  var8 = *((int *) 0x00020A24);
  *((int *) 0x00020A20) = 0x00000000;
  if (var8 != 0x00000000)
  {
    scePaf_4612DB4B (var8);
    scePaf_4E67BB08 (var8);
  }
  else
  {
  }
  var9 = *((int *) 0x00020A28);
  *((int *) 0x00020A24) = 0x00000000;
  if (var9 != 0x00000000)
  {
    scePaf_4612DB4B (var9);
    scePaf_4E67BB08 (var9);
  }
  else
  {
  }
  var10 = *((int *) 0x00020A2C);
  *((int *) 0x00020A28) = 0x00000000;
  if (var10 != 0x00000000)
  {
    scePaf_4612DB4B (var10);
    scePaf_4E67BB08 (var10);
  }
  else
  {
  }
  var11 = *((int *) 0x00020A1C);
  *((int *) 0x00020A2C) = 0x00000000;
  if (var11 != 0x00000000)
  {
    scePaf_4612DB4B (var11);
    scePaf_4E67BB08 (var11);
  }
  else
  {
  }
  var12 = *((int *) 0x00020A30);
  *((int *) 0x00020A1C) = 0x00000000;
  if (var12 != 0x00000000)
  {
    scePaf_4612DB4B (var12);
    scePaf_4E67BB08 (var12);
  }
  else
  {
  }
  var13 = *((int *) 0x00020A34);
  *((int *) 0x00020A30) = 0x00000000;
  if (var13 != 0x00000000)
  {
    scePaf_4612DB4B (var13);
    scePaf_4E67BB08 (var13);
  }
  else
  {
  }
  var14 = *((int *) 0x00020A38);
  *((int *) 0x00020A34) = 0x00000000;
  if (var14 != 0x00000000)
  {
    scePaf_4612DB4B (var14);
    scePaf_4E67BB08 (var14);
    *((int *) 0x00020A38) = 0x00000000;
  }
  else
  {
    *((int *) 0x00020A38) = 0x00000000;
  }
  ra = ((int *) sp)[4];
  var15 = ((int *) sp)[3];
  var16 = ((int *) sp)[2];
  var17 = ((int *) sp)[1];
  var18 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00003A7C
 */
void sub_03A7C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = ThreadManForUser_E81CAF8F ("SCE_VSH_POWERCALLBACK", 0x00003B40, 0x00000000);
  *((int *) 0x00020A3C) = var3;
  var4 = var3;
  if (!(var3 < 0))
  {
    var7 = scePower_04B7766E (0x00000000, var3);
    var4 = MIN (var7, 0x00000000);
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003AD4
 */
void sub_03AD4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = scePower_DFA8BAF8 (0x00000000);
  if (var3 < 0)
  {
    scePaf_C9831AFF ("failed to unregister. 0x%x\n", var3);
  }
  else
  {
  }
  var4 = *((int *) 0x00020A3C);
  var7 = ThreadManForUser_EDBA5844 (var4);
  if (var7 < 0)
  {
    scePaf_C9831AFF ("failed to detete callback. 0x%x\n", var7);
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003B40
 */
void sub_03B40 (int arg1, int arg2)
{
  var1 = arg2;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if ((var1 & 0x00040000) != 0x00000000)
  {
    *((char *) 0x00020A40) = 0x00000000;

  label7:
    scePaf_A69BABE3 (0x00000402, 0x00000000, 0x00000000);
    ra = ((int *) sp)[0];
  }
  else
  {
    if ((var1 & 0x00020000) == 0x00000000)
    {

    label10:
      ra = ((int *) sp)[0];
    }
    else
    {
      var2 = *((unsigned char *) 0x00020A40);
      if (!(var2 == 0x00000000))
        goto label10;
      *((char *) 0x00020A40) = 0x00000001;
      goto label7;
    }
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003BB4
 */
void sub_03BB4 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  var1 = sp;
  var4 = sceVshBridge_61001D64 (var1);
  if (var4 != 0x00000000)
  {
    scePaf_C9831AFF ("vshChkregGetPsCode Error ret = 0x%x\n", var4);
    var5 = 0x00000004;
  }
  else
  {
    var5 = ((unsigned short *) sp)[1];
  }
  ra = ((int *) sp)[4];
  *((int *) 0x00020A48) = var5;
  *((char *) 0x00020A44) = 0x00000001;
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00003C08
 */
int vsh_7B9AA4D4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = *((unsigned char *) 0x00020A44);
  if (var1 == 0x00000000)
  {
    sub_03BB4 ();
  }
  else
  {
  }
  var2 = *((int *) 0x00020A48);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var2;
}

/**
 * Subroutine at address 0x00003C44
 */
int vsh_B55DCA45 ()
{
  return 0x00020A4C;
}

/**
 * Subroutine at address 0x00003C50
 */
void vsh_2B8B7775 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  scePaf_F95EA3F1 (((arg1 << 0x00000006) + 0x00020A4C), arg2, arg3);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003C78
 */
void vsh_741C9BE1 (int arg1, int arg2, int arg3)
{
  var1 = (arg1 << 0x00000006) + 0x00020A4C;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (!(((arg3 < 0x00000040)) != 0x00000000))
  {
  }
  scePaf_F95EA3F1 (arg2, var1, 0x00000040);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00003CC4
 */
int sub_03CC4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var3 = IoFileMgrForUser_F27A9C51 (arg1);
  var4 = var3;
  if (var3 < 0)
  {
    var8 = 0x00000000;
    if (var4 != 0x80010002)
    {

    label10:
      scePaf_C9831AFF ("vshIoDevctl(SCE_LFATFS_DEVCTL_SYNC) failed 0x%x\n", var7);
      var8 = var4;

    label13:
      ra = ((int *) sp)[1];
    }
    else
    {
      ra = ((int *) sp)[1];
    }
  }
  else
  {
    var7 = sceVshBridge_2380DC08 ("flashfat1:", 0x00005802, 0x00000000, 0x00000000, 0x00000000, 0x00000000);
    var4 = var7;
    var8 = 0x00000000;
    if (var4 < 0)
      goto label10;
    goto label13;
  }
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var8;
}

/**
 * Subroutine at address 0x00003D60
 */
int sub_03D60 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = IoFileMgrForUser_06A70004 (arg1, 0x000001FF);
  var4 = var3;
  var5 = 0x00000000;
  if (var4 == 0x80280011)
  {

  label8:
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
    if (!(var4 == 0x80010011))
    {
      var5 = var4;
      if (!(var4 != 0x00000000))
      {
        goto label8;
      }
    }
  }
  sp = sp + 0x00000010;
  return var5;
}

/**
 * Subroutine at address 0x00003DB0
 */
int vsh_163B90CB (int arg1)
{
  sp = sp + 0xFFFFFEB0;
  ((int *) sp)[79] = s3;
  var1 = arg1;
  var2 = sp;
  ((int *) sp)[80] = ra;
  ((int *) sp)[78] = s2;
  ((int *) sp)[77] = s1;
  ((int *) sp)[76] = s0;
  sceVshCommonUtil_FA969B6A (var2, 0x00000001);
  var5 = sp + 0x00000010;
  if ((var1 & 0x00000001) != 0x00000000)
  {
    scePaf_6829D7AF (var5, 0x00000000, 0x00000110);
    var75 = sp + 0x00000014;
    ((int *) sp)[4] = 0x00000001;
    scePaf_980228BA (var75, 0x0001CF7C);
    var80 = scePaf_CA79D58B (0x0001CF7C);
    ((int *) sp)[69] = var80;
    ((int *) sp)[71] = 0x00000001;
    ((int *) sp)[70] = 0x00000001;
    var83 = sceReg_DEDA92BF (var5);
    var69 = var83;
    if (var83 != 0x00000000)
    {

    label18:
      scePaf_C9831AFF ("vshIoDevctl(SCE_LFATFS_DEVCTL_SYNC) failed 0x%x\n", var69);

    label25:
      var70 = sp;
      sceVshCommonUtil_D4D66154 (var70);
      var9 = var69;
    }
    else
    {
      var86 = sceVshBridge_2380DC08 ("flashfat1:", 0x00005802, 0x00000000, 0x00000000, 0x00000000, 0x00000000);
      var69 = var86;
      if (var86 >= 0)
      {

      label21:
        if ((var1 & 0x00000002) != 0x00000000)
        {
          var68 = sub_03CC4 ();
          var69 = var68;
          if (!(var68 == 0x00000000))
            goto label25;

        label28:
          if ((var1 & 0x00000004) != 0x00000000)
          {
            var16 = IoFileMgrForUser_6D08A871 (0x0001CE90);
            if (var16 != 0x00000000)
            {
              scePaf_C9831AFF ("sceIoUnassign failed - 0x%x\n", var16);
            }
            else
            {
            }
            var19 = IoFileMgrForUser_6D08A871 (0x0001CEB8);
            if (var19 != 0x00000000)
            {
              scePaf_C9831AFF ("sceIoUnassign failed - 0x%x\n", var19);
            }
            sub_02A40 ();
            var22 = *((int *) 0x0001CE70);
            var23 = *((int *) 0x0001CE74);
            var24 = sp + 0x00000120;
            ((int *) sp)[72] = var22;
            ((int *) sp)[73] = var23;
            var27 = sceVshBridge_74DA9D25 (0x00000002, var24);
            if (var27 != 0x00000000)
            {
              scePaf_C9831AFF ("vshLflashFatfmtStartFatfmt returned - 0x%x\n", var27);
            }
            else
            {
            }
            var30 = IoFileMgrForUser_B2A628C1 (0x0001CE90, "lflash0:0,0", "flashfat0:", 0x00000000, 0x00000000, 0x00000000);
            if (var30 != 0x00000000)
            {
              scePaf_C9831AFF ("sceIoAssign failed - 0x%x\n", var30);
            }
            else
            {
            }
            var33 = IoFileMgrForUser_B2A628C1 (0x0001CEB8, "lflash0:0,1", "flashfat1:", 0x00000000, 0x00000000, 0x00000000);
            if (var33 != 0x00000000)
            {
              scePaf_C9831AFF ("sceIoAssign failed - 0x%x\n", var33);
            }
            else
            {
            }
            var36 = sub_03D60 ();
            if (var36 != 0x00000000)
            {
              scePaf_C9831AFF ("sceIoMkdir failed - 0x%x\n", var36);
            }
            else
            {
            }
            var39 = sub_03D60 ();
            if (var39 != 0x00000000)
            {
              scePaf_C9831AFF ("sceIoMkdir failed - 0x%x\n", var39);
            }
            else
            {
            }
            var42 = sub_03D60 ();
            if (var42 != 0x00000000)
            {
              scePaf_C9831AFF ("sceIoMkdir failed - 0x%x\n", var42);
            }
            else
            {
            }
            var45 = sub_03D60 ();
            if (var45 != 0x00000000)
            {
              scePaf_C9831AFF ("sceIoMkdir failed - 0x%x\n", var45);
            }
            sub_02A80 ();
          }
          else
          {
          }
          var6 = sp;
          sceVshCommonUtil_D4D66154 (var6);
          var9 = 0x00000000;
        }
        else
        goto label28;
      }
      else
      {
        goto label18;
      }
    }
  }
  else
  goto label21;
  ra = ((int *) sp)[80];
  var10 = ((int *) sp)[79];
  var11 = ((int *) sp)[78];
  var12 = ((int *) sp)[77];
  var13 = ((int *) sp)[76];
  sp = sp + 0x00000150;
  return var9;
}

/**
 * Subroutine at address 0x000040A8
 */
void sub_040A8 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  IoFileMgrForUser_810C4BC3 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000040C4
 */
void sub_040C4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sceVshCommonUtil_EDED68FB ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000040E0
 */
void sub_040E0 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  scePaf_545FE2DA (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000040FC
 */
int sub_040FC (int arg1)
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[16] = ra;
  var1 = 0x0001CFC0;
  var2 = sp;
  ((int *) sp)[14] = s2;
  ((int *) sp)[13] = s1;
  ((int *) sp)[12] = s0;
  ((int *) sp)[15] = s3;
  while (1) {
    var3 = ((int *) var1)[0];
    var4 = ((int *) var1)[1];
    var5 = ((int *) var1)[2];
    var6 = ((int *) var1)[3];
    ((int *) var2)[0] = var3;
    var1 = var1 + 0x00000010;
    var2 = var2 + 0x00000010;
    ((int *) var2)[1073741821] = var4;
    ((int *) var2)[1073741822] = var5;
    ((int *) var2)[1073741823] = var6;
    if (var1 != 0x0001CFF0)
      continue;
    break;
  }
  var7 = 0x00000000;
  var8 = sp;
  while (1) {
    var9 = ((int *) var8)[0];
    var7 = var7 + 0x00000001;
    var12 = sceVshBridge_5C2983C2 (0x00000000, var9);
    if (var12 == 0x00000001)
    {
      var18 = ((int *) var8)[0];
      var13 = 0x00000001;
      if (!((arg1 & (var12 << var18)) == 0x00000000))
        break;

    label10:
      var8 = var8 + 0x00000004;
      if (((var7 < 0x0000000C)) != 0x00000000)
        continue;
      var13 = 0x00000000;
      ra = ((int *) sp)[16];
    }
    else
    goto label10;
    goto label12;
  }
  ra = ((int *) sp)[16];

label12:
  var14 = ((int *) sp)[15];
  var15 = ((int *) sp)[14];
  var16 = ((int *) sp)[13];
  var17 = ((int *) sp)[12];
  sp = sp + 0x00000050;
  return var13;
}

/**
 * Subroutine at address 0x000041C4
 */
int sub_041C4 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[6] = s2;
  var1 = sp;
  ((int *) sp)[5] = s1;
  ((int *) sp)[4] = s0;
  ((int *) sp)[7] = ra;
  var2 = arg1;
  var5 = sceVshCommonUtil_2D564AF6 (arg1, arg2, var1);
  var6 = var5;
  if (var5 != 0x00000000)
  {

  label15:
    scePaf_C9831AFF ("sceSystemFileGetValue failed : 0x%x\n", var6);
    var18 = var6;
  }
  else
  {
    var7 = ((int *) sp)[0];
    var8 = sp + 0x00000004;
    var9 = sp + 0x00000008;
    var10 = sp + 0x0000000C;
    var13 = sceVshCommonUtil_6B332472 (var2, var7, var8, var9, var10);
    var6 = var13;
    if (var13 != 0x00000000)
      goto label15;
    var14 = ((int *) sp)[2];
    var15 = ((int *) sp)[3];
    if (var14 != 0x00000004)
    {

    label18:
      scePaf_C9831AFF ("value size check failed (value_size = %d, value_area_size=%d)\n", var14, var15);
      var18 = 0xFFFFFFFF;
    }
    else
    {
      if (!(var15 == var14))
        goto label18;
      var22 = ((int *) sp)[0];
      var25 = sceVshCommonUtil_F857F095 (var2, var22, arg3);
      var6 = var25;
      var18 = 0x00000000;
      if (!(var6 == 0x00000000))
      {
        goto label15;
      }
    }
  }
  ra = ((int *) sp)[7];
  var19 = ((int *) sp)[6];
  var20 = ((int *) sp)[5];
  var21 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return var18;
}

/**
 * Subroutine at address 0x00004290
 */
int sub_04290 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[6] = s2;
  var1 = sp;
  ((int *) sp)[7] = s3;
  var2 = arg4;
  ((int *) sp)[5] = s1;
  ((int *) sp)[4] = s0;
  ((int *) sp)[8] = ra;
  var3 = arg1;
  var6 = sceVshCommonUtil_2D564AF6 (arg1, arg2, var1);
  var7 = var6;
  var8 = sp + 0x00000008;
  var9 = sp + 0x0000000C;
  var10 = sp + 0x00000004;
  if (var6 != 0x00000000)
  {

  label15:
    scePaf_C9831AFF ("sceSystemFileGetValue failed : 0x%x\n", var19);
    var20 = var7;
  }
  else
  {
    var11 = ((int *) sp)[0];
    var14 = sceVshCommonUtil_6B332472 (var3, var11, var10, var8, var9);
    var7 = var14;
    if (var14 != 0x00000000)
      goto label15;
    var15 = ((int *) sp)[2];
    if (((var2 < var15)) != 0x00000000)
    {
      scePaf_C9831AFF ("value_size (%d) > bufsize (%d) \n", var15, var2);
      var20 = 0xFFFFFFFF;
    }
    else
    {
      var16 = ((int *) sp)[0];
      var19 = sceVshCommonUtil_F857F095 (var3, var16, arg3);
      var7 = var19;
      var20 = 0x00000000;
      if (var7 != 0x00000000)
        goto label15;
    }
  }
  ra = ((int *) sp)[8];
  var21 = ((int *) sp)[7];
  var22 = ((int *) sp)[6];
  var23 = ((int *) sp)[5];
  var24 = ((int *) sp)[4];
  sp = sp + 0x00000030;
  return var20;
}

/**
 * Subroutine at address 0x00004378
 */
int sub_04378 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var3 = sub_043B0 ();
  var4 = var3;
  var7 = sceUmdUser_46EBB729 ();
  if (var7 == 0x00000000)
  {
    var4 = 0x00000001;
  }
  ra = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var4;
}

/**
 * Subroutine at address 0x000043B0
 */
int sub_043B0 ()
{
  sp = sp + 0xFFFFFEB0;
  ((int *) sp)[83] = ra;
  ((int *) sp)[82] = s6;
  ((int *) sp)[81] = s5;
  ((int *) sp)[80] = s4;
  ((int *) sp)[79] = s3;
  ((int *) sp)[78] = s2;
  ((int *) sp)[77] = s1;
  ((int *) sp)[76] = s0;
  var3 = sub_1A184 ();
  var4 = 0x00000002;
  if (!(var3 == 0x00000004))
  {
    var7 = IoFileMgrForUser_109F50BC ("disc0:/PSP_GAME/PARAM.SFO", 0x00000001, 0x00000000);
    var4 = 0x00000002;
    if (!(var7 < 0))
    {
      var8 = sp + 0x00000110;
      ((int *) sp)[0] = 0x000040A8;
      ((int *) sp)[1] = var7;
      var11 = sceVshCommonUtil_E55CADD9 (var7, var8);
      if (var11 != 0x00000000)
      {
        scePaf_C9831AFF ("sceSystemFileLoadIndex failed : 0x%x\n", var11);
        var33 = ((int *) sp)[0];

      label208:
        if (var33 != 0x00000000)
        {
          var41 = ((int *) sp)[1];
          var44 var45 = (*var33) (var41);
          var4 = 0x00000002;
        }
        else
        {
          var4 = 0x00000002;
        }
      }
      else
      {
        var12 = ((int *) sp)[68];
        var13 = sp + 0x00000114;
        ((int *) sp)[4] = 0x000040C4;
        ((int *) sp)[5] = var12;
        var16 = sub_041C4 (var12, "REGION", var13);
        var17 = ((int *) sp)[68];
        if (var16 != 0x00000000)
        {

        label202:
          var32 = ((int *) sp)[4];

        label203:
          if (var32 != 0x00000000)
          {
            var46 = ((int *) sp)[5];
            var49 var50 = (*var32) (var46);
            var33 = ((int *) sp)[0];
          }
          else
          {
            var33 = ((int *) sp)[0];
          }
          goto label208;
        }
        else
        {
          var18 = sp + 0x00000118;
          var21 = sub_041C4 (var17, "BOOTABLE", var18);
          var22 = ((int *) sp)[68];
          if (var21 != 0x00000000)
            goto label202;
          var23 = sp + 0x00000020;
          var26 = sub_04290 (var22, "CATEGORY", var23, 0x00000004);
          var27 = ((char *) sp)[32];
          if (var26 != 0x00000000)
            goto label202;
          if (var27 != 0x00000055)
          {
            var216 = ((char *) sp)[33];

          label199:

          label200:
            scePaf_C9831AFF ("CATEGORY(%s) != 'UG'\n", var23);
            goto label202;
          }
          else
          {
            var28 = ((char *) sp)[33];
            if (var28 == 0x00000047)
            {
              var51 = ((char *) sp)[34];
              if (var51 != 0x00000000)
                goto label200;
              var52 = ((int *) sp)[68];
              var53 = sp + 0x00000030;
              var56 = sub_04290 (var52, "PSP_SYSTEM_VER", var53, 0x00000008);
              if (var56 == 0x00000000)
              {

              label35:
                var59 = sp + 0x00000040;
                var60 = 0x00000003;
                var61 = var59;
                while (1) {
                  var60 = var60 + 0xFFFFFFFF;
                  ((int *) var61)[0] = 0x00000000;
                  ((int *) var61)[1] = 0x00000000;
                  ((int *) var61)[3] = 0x00000000;
                  ((int *) var61)[4] = 0x00000000;
                  ((int *) var61)[6] = 0x00000000;
                  ((int *) var61)[7] = 0x00000000;
                  var61 = var61 + 0x00000024;
                  if (var60 != 0xFFFFFFFF)
                    continue;
                  break;
                }
                sub_05960 (var59);
                var64 = 0x00000000;
                var65 = var59;
                var66 = ((int *) var65)[0];
                while (1) {
                  var67 = *((char *) 0x0001D13C);
                  var68 = ((char *) var66)[0];
                  var65 = var65 + 0x00000024;
                  var69 = 0x00000000;
                  if (var68 == var67)
                  {
                    var215 = scePaf_66FE90D7 (var66, "release");
                    if (var215 == 0x00000000)
                    {
                      var69 = 0x00000001;
                    }
                    else
                    {
                    }
                  }
                  if (var69 != 0x00000000)
                  {
                    var77 = sp + 0x000000E0;
                    if (((var64 < 0x00000004)) == 0x00000000)
                      goto label189;
                    ((int *) sp)[56] = 0x00000000;
                    ((int *) sp)[57] = 0x00000000;
                    sub_01ADC (var77, ((var59 + (((var64 << 0x00000003) + var64) << 0x00000002)) + 0x0000000C));
                    var82 = scePaf_CA79D58B (var53);
                    var83 = ((unsigned char *) sp)[48];
                    if (((var82 < 0x00000004)) != 0x00000000)
                    {
                      sub_01988 (var77);
                      var206 = sp + 0x000000D0;
                      while (1) {
                        var32 = ((int *) sp)[4];
                        if (var59 == var206)
                          break;
                        var206 = var206 + 0xFFFFFFDC;
                        sub_01988 ((var206 + 0x00000018));
                        sub_01988 ((var206 + 0x0000000C));
                        sub_01988 (var206);
                        continue;
                      }
                      goto label203;
                    }
                    else
                    {
                      var84 = ((char *) sp)[49];
                      if (((((var83 + 0xFFFFFFD0) & 0x000000FF) < 0x0000000A)) == 0x00000000)
                      {

                      label176:
                        sub_01988 (var77);
                        var88 = sp + 0x000000D0;
                        while (1) {
                          var32 = ((int *) sp)[4];
                          if (var59 == var88)
                            break;
                          var88 = var88 + 0xFFFFFFDC;
                          sub_01988 ((var88 + 0x00000018));
                          sub_01988 ((var88 + 0x0000000C));
                          sub_01988 (var88);
                          continue;
                        }
                        goto label203;
                      }
                      else
                      {
                        var85 = ((char *) sp)[50];
                        if (!(var84 == 0x0000002E))
                          goto label176;
                        if (((var85 < 0x00000030)) != 0x00000000)
                        {
                          goto label176;
                        }
                        else
                        {
                          var95 = ((char *) sp)[51];
                          if (((var85 < 0x0000003A)) == 0x00000000)
                            goto label176;
                          if (((var95 < 0x00000030)) != 0x00000000)
                          {
                            goto label176;
                          }
                          else
                          {
                            var96 = ((int *) sp)[56];
                            if (((var95 < 0x0000003A)) == 0x00000000)
                              goto label176;
                            var97 = ((char *) var96)[0];
                            var98 = ((char *) var96)[2];
                            var99 = ((char *) var96)[3];
                            var100 = ((var98 << 0x00000002) + var98) << 0x00000001;
                            if (((((((var97 * 0x00000064) + var100) + var99) + 0xFFFFEB30) < ((((((char) var83) * 0x00000064) + (((var85 << 0x00000002) + var85) << 0x00000001)) + var95) + 0xFFFFEB30))) != 0x00000000)
                            {
                              scePaf_C9831AFF ("game version is newer.\n", var100, var96, var99);
                              sub_01988 (var77);
                              var185 = sp + 0x000000D0;
                              while (1) {
                                if (var59 == var185)
                                  break;
                                var185 = var185 + 0xFFFFFFDC;
                                sub_01988 ((var185 + 0x00000018));
                                sub_01988 ((var185 + 0x0000000C));
                                sub_01988 (var185);
                                continue;
                              }
                              var192 = ((int *) sp)[4];
                              if (var192 != 0x00000000)
                              {
                                var199 = ((int *) sp)[5];
                                var202 var203 = (*var192) (var199);
                                var193 = ((int *) sp)[0];
                              }
                              else
                              {
                                var193 = ((int *) sp)[0];
                              }
                              if (var193 != 0x00000000)
                              {
                                var194 = ((int *) sp)[1];
                                var197 var198 = (*var193) (var194);
                                var4 = 0x00000003;
                              }
                              else
                              {
                                var4 = 0x00000003;
                              }
                            }
                            else
                            {
                              sub_01988 (var77);
                              var103 = sp + 0x000000D0;
                              while (1) {
                                if (var59 == var103)
                                  break;
                                var103 = var103 + 0xFFFFFFDC;
                                sub_01988 ((var103 + 0x00000018));
                                sub_01988 ((var103 + 0x0000000C));
                                sub_01988 (var103);
                                continue;
                              }
                              var110 = ((int *) sp)[70];
                              if (var110 != 0x00000001)
                              {
                                scePaf_C9831AFF ("BOOTABLE = %d\n", var110);
                                var169 = ((int *) sp)[4];
                                if (var169 != 0x00000000)
                                {
                                  var176 = ((int *) sp)[5];
                                  var179 var180 = (*var169) (var176);
                                  var170 = ((int *) sp)[0];
                                }
                                else
                                {
                                  var170 = ((int *) sp)[0];
                                }
                                if (var170 != 0x00000000)
                                {
                                  var171 = ((int *) sp)[1];
                                  var174 var175 = (*var170) (var171);
                                  var4 = 0x00000004;
                                }
                                else
                                {
                                  var4 = 0x00000004;
                                }
                              }
                              else
                              {
                                var111 = ((int *) sp)[68];
                                var112 = sp + 0x0000011C;
                                var115 = sub_041C4 (var111, "PARENTAL_LEVEL", var112);
                                if (var115 == 0x00000000)
                                {

                                label121:
                                  var117 = sp + 0x000000F0;
                                  sceVshCommonUtil_2ACAD845 (var117, "/CONFIG/SYSTEM/LOCK");
                                  var120 = sp + 0x00000120;
                                  var123 = sceVshCommonUtil_63FFE887 (var117, "parental_level", var120);
                                  if (var123 != 0x00000000)
                                  {
                                    scePaf_C9831AFF ("registry_access returned %x\n", var123);
                                    ((int *) sp)[72] = 0x00000000;
                                  }
                                  var124 = ((int *) sp)[71];
                                  if (((var124 < 0x0000000C)) != 0x00000000)
                                  {
                                    var126 = ((int *) sp)[72];
                                  }
                                  else
                                  {
                                    var125 = ((int *) sp)[72];
                                    var124 = 0x0000000B;
                                    ((int *) sp)[71] = 0x0000000B;
                                    var126 = ((int *) sp)[72];
                                  }
                                  if (var126 < 0)
                                  {
                                    ((int *) sp)[72] = 0x00000000;
                                  }
                                  var127 = ((int *) sp)[72];
                                  if (var124 == 0x00000000)
                                  {

                                  label149:
                                    var128 = ((int *) sp)[68];

                                  label150:
                                    var129 = sp + 0x00000124;
                                    var132 = sub_041C4 (var128, "AB_FLAG", var129);
                                    var133 = ((int *) sp)[73];
                                    if (!(var132 != 0x00000000))
                                    {
                                      if (var133 == 0x00000002)
                                      {
                                        var150 = vsh_163B90CB (0x00000003);
                                      }
                                    }
                                    sceVshCommonUtil_98E57F6D (var117);
                                    var136 = ((int *) sp)[4];
                                    if (var136 != 0x00000000)
                                    {
                                      var143 = ((int *) sp)[5];
                                      var146 var147 = (*var136) (var143);
                                      var137 = ((int *) sp)[0];
                                    }
                                    else
                                    {
                                      var137 = ((int *) sp)[0];
                                    }
                                    if (var137 != 0x00000000)
                                    {
                                      var138 = ((int *) sp)[1];
                                      var141 var142 = (*var137) (var138);
                                      var4 = 0x00000000;
                                    }
                                    else
                                    {
                                      var4 = 0x00000000;
                                    }
                                  }
                                  else
                                  {
                                    var128 = ((int *) sp)[68];
                                    if (var127 == 0x00000000)
                                      goto label150;
                                    if (!(((var127 < var124)) != 0x00000000))
                                      goto label149;
                                    sceVshCommonUtil_98E57F6D (var117);
                                    var153 = ((int *) sp)[4];
                                    if (var153 != 0x00000000)
                                    {
                                      var160 = ((int *) sp)[5];
                                      var163 var164 = (*var153) (var160);
                                      var154 = ((int *) sp)[0];
                                    }
                                    else
                                    {
                                      var154 = ((int *) sp)[0];
                                    }
                                    if (var154 != 0x00000000)
                                    {
                                      var155 = ((int *) sp)[1];
                                      var158 var159 = (*var154) (var155);
                                      var4 = 0x00000005;
                                    }
                                    else
                                    {
                                      var4 = 0x00000005;
                                    }
                                  }
                                }
                                else
                                {
                                  if (var115 != 0x80120005)
                                  {
                                    var32 = ((int *) sp)[4];
                                    goto label203;
                                  }
                                  else
                                  {
                                    var116 = ((int *) sp)[4];
                                    ((int *) sp)[71] = 0x00000000;
                                    goto label121;
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                  else
                  {
                    var64 = var64 + 0x00000001;
                    if (!(((var64 < 0x00000004)) != 0x00000000))
                      break;
                    var66 = ((int *) var65)[0];
                    continue;
                  }
                  goto label213;
                }

              label189:
                var70 = sp + 0x000000D0;
                while (1) {
                  var32 = ((int *) sp)[4];
                  if (var59 == var70)
                    break;
                  var70 = var70 + 0xFFFFFFDC;
                  sub_01988 ((var70 + 0x00000018));
                  sub_01988 ((var70 + 0x0000000C));
                  sub_01988 (var70);
                  continue;
                }
                goto label203;
              }
              else
              {
                if (var56 != 0x80120005)
                {
                  var32 = ((int *) sp)[4];
                  goto label203;
                }
                else
                {
                  scePaf_980228BA (var53, "1.00");
                  goto label35;
                }
              }
            }
            else
            {
              var29 = ((char *) sp)[34];
              goto label199;
            }
          }
        }
      }
    }
  }

label213:
  ra = ((int *) sp)[83];
  var34 = ((int *) sp)[82];
  var35 = ((int *) sp)[81];
  var36 = ((int *) sp)[80];
  var37 = ((int *) sp)[79];
  var38 = ((int *) sp)[78];
  var39 = ((int *) sp)[77];
  var40 = ((int *) sp)[76];
  sp = sp + 0x00000150;
  return var4;
}

/**
 * Subroutine at address 0x00004A2C
 */
void vsh_71C15234 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFE60;
  ((int *) sp)[99] = s3;
  ((int *) sp)[96] = s0;
  ((int *) sp)[103] = ra;
  ((int *) sp)[102] = s6;
  ((int *) sp)[101] = s5;
  ((int *) sp)[100] = s4;
  ((int *) sp)[98] = s2;
  ((int *) sp)[97] = s1;
  var3 = IoFileMgrForUser_109F50BC (arg1, 0x00000001, 0x00000000);
  var4 = var3;
  if (!(var4 < 0))
  {
    var5 = sp;
    ((int *) sp)[12] = 0x000040A8;
    ((int *) sp)[13] = var4;
    var8 = IoFileMgrForUser_6A638D83 (var4, var5, 0x00000028);
    var9 = var8;
    if (var9 != 0x00000028)
    {
      var361 = ((char *) sp)[0];

    label343:
      var13 = ((int *) sp)[12];

    label344:
      if (var13 != 0x00000000)
      {
        var21 = ((int *) sp)[13];
        var24 var25 = (*var13) (var21, var9);
      }
      else
      {
      }
    }
    else
    {
      var10 = ((char *) sp)[0];
      if (var10 != 0x00000000)
      {
        goto label343;
      }
      else
      {
        var11 = ((char *) sp)[1];
        var12 = ((char *) sp)[2];
        if (!(var11 == 0x00000050))
          goto label343;
        if (var12 != 0x00000042)
        {
          var13 = ((int *) sp)[12];
          goto label344;
        }
        else
        {
          var26 = ((int *) sp)[12];
          var27 = ((char *) sp)[3];
          if (var27 != var11)
          {
            var13 = ((int *) sp)[12];
            goto label344;
          }
          else
          {
            var28 = ((int *) sp)[12];
            var29 = ((int *) sp)[3];
            var30 = ((int *) sp)[2];
            var31 = var29 - var30;
            var13 = ((int *) sp)[12];
            if (var31 <= 0)
              goto label344;
            var34 = scePaf_5FAC9869 (var31);
            var35 = var34;
            if (var34 == 0x00000000)
              goto label343;
            var36 = ((int *) sp)[2];
            ((int *) sp)[16] = 0x000040E0;
            ((int *) sp)[17] = var35;
            var39 = IoFileMgrForUser_27EB27B8 (var4);
            if (var39 < 0)
            {

            label337:
              var74 = ((int *) sp)[16];

            label338:
              if (var74 == 0x00000000)
              {
                var13 = ((int *) sp)[12];
              }
              else
              {
                var75 = ((int *) sp)[17];
                var78 var79 = (*var74) (var75);
                var13 = ((int *) sp)[12];
              }
              goto label344;
            }
            else
            {
              var42 = IoFileMgrForUser_6A638D83 (var4, var35, var31);
              if (var42 != var31)
              {
                var74 = ((int *) sp)[16];
                goto label338;
              }
              else
              {
                var43 = ((int *) sp)[16];
                var44 = sp + 0x00000160;
                var47 = sceVshCommonUtil_B6E7804E (var35, var44);
                if (var47 != 0x00000000)
                {
                  scePaf_C9831AFF ("sceSystemFileLoadAll failed : 0x%x\n", var47);
                  var74 = ((int *) sp)[16];
                  goto label338;
                }
                else
                {
                  var48 = ((int *) sp)[88];
                  var49 = sp + 0x00000164;
                  ((int *) sp)[20] = 0x000040C4;
                  ((int *) sp)[21] = var48;
                  var52 = sub_041C4 (var48, "REGION", var49);
                  if (var52 != 0x00000000)
                  {
                    var73 = ((int *) sp)[20];

                  label333:
                    if (!(var73 != 0x00000000))
                      goto label337;
                    var80 = ((int *) sp)[21];
                    var83 var84 = (*var73) (var80);
                    var74 = ((int *) sp)[16];
                    goto label338;
                  }
                  else
                  {
                    var53 = ((int *) sp)[20];
                    var54 = ((int *) sp)[89];
                    var57 = sub_040FC (var54);
                    var58 = ((int *) sp)[88];
                    if (var57 <= 0)
                    {
                      var341 = ((int *) sp)[20];
                      if (var341 != 0x00000000)
                      {
                        var354 = ((int *) sp)[21];
                        var357 var358 = (*var341) (var354);
                        var342 = ((int *) sp)[16];
                      }
                      else
                      {
                        var342 = ((int *) sp)[16];
                      }
                      if (var342 != 0x00000000)
                      {
                        var349 = ((int *) sp)[17];
                        var352 var353 = (*var342) (var349);
                        var343 = ((int *) sp)[12];
                      }
                      else
                      {
                        var343 = ((int *) sp)[12];
                      }
                      if (var343 != 0x00000000)
                      {
                        var344 = ((int *) sp)[13];
                        var347 var348 = (*var343) (var344);
                      }
                      else
                      {
                      }
                    }
                    else
                    {
                      var59 = sp + 0x00000168;
                      var62 = sub_041C4 (var58, "BOOTABLE", var59);
                      var63 = ((int *) sp)[88];
                      if (var62 != 0x00000000)
                      {

                      label332:
                        var73 = ((int *) sp)[20];
                        goto label333;
                      }
                      else
                      {
                        var64 = sp + 0x00000060;
                        var67 = sub_04290 (var63, "CATEGORY", var64, 0x00000004);
                        var68 = ((char *) sp)[96];
                        if (var67 != 0x00000000)
                          goto label332;
                        if (var68 != 0x0000004D)
                        {
                          var340 = ((char *) sp)[97];

                        label329:

                        label330:
                          scePaf_C9831AFF ("CATEGORY(%s) != 'MG'\n", var64);
                          goto label332;
                        }
                        else
                        {
                          var69 = ((char *) sp)[97];
                          if (var69 == 0x00000047)
                          {
                            var85 = ((char *) sp)[98];
                            if (var85 != 0x00000000)
                              goto label330;
                            var86 = ((int *) sp)[88];
                            var87 = sp + 0x00000070;
                            var90 = sub_04290 (var86, "PSP_SYSTEM_VER", var87, 0x00000008);
                            if (var90 == 0x00000000)
                            {

                            label72:
                              var93 = sp + 0x00000080;
                              var94 = 0x00000003;
                              var95 = var93;
                              while (1) {
                                var94 = var94 + 0xFFFFFFFF;
                                ((int *) var95)[0] = 0x00000000;
                                ((int *) var95)[1] = 0x00000000;
                                ((int *) var95)[3] = 0x00000000;
                                ((int *) var95)[4] = 0x00000000;
                                ((int *) var95)[6] = 0x00000000;
                                ((int *) var95)[7] = 0x00000000;
                                var95 = var95 + 0x00000024;
                                if (var94 != 0xFFFFFFFF)
                                  continue;
                                break;
                              }
                              sub_05960 (var93);
                              var98 = 0x00000000;
                              var99 = var93;
                              var100 = ((int *) var99)[0];
                              while (1) {
                                var101 = *((char *) 0x0001D13C);
                                var102 = ((char *) var100)[0];
                                var99 = var99 + 0x00000024;
                                var103 = 0x00000000;
                                if (var102 == var101)
                                {
                                  var339 = scePaf_66FE90D7 (var100, "release");
                                  if (var339 == 0x00000000)
                                  {
                                    var103 = 0x00000001;
                                  }
                                  else
                                  {
                                  }
                                }
                                if (var103 != 0x00000000)
                                {
                                  if (((var98 < 0x00000004)) == 0x00000000)
                                  {
                                    goto label319;
                                  }
                                  else
                                  {
                                    var111 = sp + 0x00000120;
                                    ((int *) sp)[72] = 0x00000000;
                                    ((int *) sp)[73] = 0x00000000;
                                    sub_01ADC (var111, ((var93 + (((var98 << 0x00000003) + var98) << 0x00000002)) + 0x0000000C));
                                    var114 = ((int *) sp)[73];
                                    var115 = ((int *) sp)[72];
                                    if (((var114 < 0x00000004)) != 0x00000000)
                                    {
                                      sub_01988 (var111);
                                      var330 = sp + 0x00000110;
                                      while (1) {
                                        var73 = ((int *) sp)[20];
                                        if (var93 == var330)
                                          break;
                                        var330 = var330 + 0xFFFFFFDC;
                                        sub_01988 ((var330 + 0x00000018));
                                        sub_01988 ((var330 + 0x0000000C));
                                        sub_01988 (var330);
                                        continue;
                                      }
                                      goto label333;
                                    }
                                    else
                                    {
                                      var116 = ((char *) var115)[0];
                                      if (((var116 < 0x00000030)) != 0x00000000)
                                      {

                                      label306:
                                        sub_01988 (var111);
                                        var120 = sp + 0x00000110;
                                        while (1) {
                                          var73 = ((int *) sp)[20];
                                          if (var93 == var120)
                                            break;
                                          var120 = var120 + 0xFFFFFFDC;
                                          sub_01988 ((var120 + 0x00000018));
                                          sub_01988 ((var120 + 0x0000000C));
                                          sub_01988 (var120);
                                          continue;
                                        }
                                        goto label333;
                                      }
                                      else
                                      {
                                        if (((var116 < 0x0000003A)) == 0x00000000)
                                        {
                                          goto label306;
                                        }
                                        else
                                        {
                                          var117 = ((char *) var115)[1];
                                          if (!(var117 == 0x0000002E))
                                            goto label306;
                                          var127 = ((char *) var115)[2];
                                          if (((var127 < 0x00000030)) != 0x00000000)
                                          {
                                            goto label306;
                                          }
                                          else
                                          {
                                            if (((var127 < 0x0000003A)) == 0x00000000)
                                              goto label306;
                                            var128 = ((char *) var115)[3];
                                            if (((var128 < 0x00000030)) != 0x00000000)
                                            {
                                              goto label306;
                                            }
                                            else
                                            {
                                              if (((var128 < 0x0000003A)) == 0x00000000)
                                                goto label306;
                                              var129 = ((char *) sp)[112];
                                              var130 = ((char *) sp)[114];
                                              var131 = ((char *) sp)[115];
                                              var132 = ((var116 * 0x00000064) + (((var127 << 0x00000002) + var127) << 0x00000001)) + var128;
                                              var133 = var132 + 0xFFFFEB30;
                                              if (((var133 < ((((var129 * 0x00000064) + (((var130 << 0x00000002) + var130) << 0x00000001)) + var131) + 0xFFFFEB30))) != 0x00000000)
                                              {
                                                scePaf_C9831AFF ("game version is newer.\n", var132, var131, var127);
                                                sub_01988 (var111);
                                                var303 = sp + 0x00000110;
                                                while (1) {
                                                  if (var93 == var303)
                                                    break;
                                                  var303 = var303 + 0xFFFFFFDC;
                                                  sub_01988 ((var303 + 0x00000018));
                                                  sub_01988 ((var303 + 0x0000000C));
                                                  sub_01988 (var303);
                                                  continue;
                                                }
                                                var310 = ((int *) sp)[20];
                                                if (var310 != 0x00000000)
                                                {
                                                  var323 = ((int *) sp)[21];
                                                  var326 var327 = (*var310) (var323);
                                                  var311 = ((int *) sp)[16];
                                                }
                                                else
                                                {
                                                  var311 = ((int *) sp)[16];
                                                }
                                                if (var311 != 0x00000000)
                                                {
                                                  var318 = ((int *) sp)[17];
                                                  var321 var322 = (*var311) (var318);
                                                  var312 = ((int *) sp)[12];
                                                }
                                                else
                                                {
                                                  var312 = ((int *) sp)[12];
                                                }
                                                if (var312 != 0x00000000)
                                                {
                                                  var313 = ((int *) sp)[13];
                                                  var316 var317 = (*var312) (var313);
                                                }
                                                else
                                                {
                                                }
                                              }
                                              else
                                              {
                                                if ((arg2 & 0x000000FF) == 0x00000000)
                                                {

                                                label221:
                                                  sub_01988 (var111);
                                                  var147 = sp + 0x00000110;
                                                  while (1) {
                                                    if (var93 == var147)
                                                      break;
                                                    var147 = var147 + 0xFFFFFFDC;
                                                    sub_01988 ((var147 + 0x00000018));
                                                    sub_01988 ((var147 + 0x0000000C));
                                                    sub_01988 (var147);
                                                    continue;
                                                  }
                                                  var154 = ((int *) sp)[90];
                                                  var155 = ((int *) sp)[88];
                                                  if (var154 != 0x00000001)
                                                  {
                                                    var214 = ((int *) sp)[20];
                                                    if (var214 != 0x00000000)
                                                    {
                                                      var227 = ((int *) sp)[21];
                                                      var230 var231 = (*var214) (var227);
                                                      var215 = ((int *) sp)[16];
                                                    }
                                                    else
                                                    {
                                                      var215 = ((int *) sp)[16];
                                                    }
                                                    if (var215 != 0x00000000)
                                                    {
                                                      var222 = ((int *) sp)[17];
                                                      var225 var226 = (*var215) (var222);
                                                      var216 = ((int *) sp)[12];
                                                    }
                                                    else
                                                    {
                                                      var216 = ((int *) sp)[12];
                                                    }
                                                    if (var216 != 0x00000000)
                                                    {
                                                      var217 = ((int *) sp)[13];
                                                      var220 var221 = (*var216) (var217);
                                                    }
                                                    else
                                                    {
                                                    }
                                                  }
                                                  else
                                                  {
                                                    var156 = sp + 0x0000016C;
                                                    var159 = sub_041C4 (var155, "PARENTAL_LEVEL", var156);
                                                    if (var159 == 0x00000000)
                                                    {

                                                    label248:
                                                      var161 = sp + 0x00000140;
                                                      sceVshCommonUtil_2ACAD845 (var161, "/CONFIG/SYSTEM/LOCK");
                                                      var164 = sp + 0x00000170;
                                                      var167 = sceVshCommonUtil_63FFE887 (var161, "parental_level", var164);
                                                      if (var167 != 0x00000000)
                                                      {
                                                        scePaf_C9831AFF ("registry_access returned %x\n", var167);
                                                        ((int *) sp)[92] = 0x00000000;
                                                      }
                                                      var168 = ((int *) sp)[91];
                                                      if (((var168 < 0x0000000C)) != 0x00000000)
                                                      {
                                                        var170 = ((int *) sp)[92];
                                                      }
                                                      else
                                                      {
                                                        var169 = ((int *) sp)[92];
                                                        var168 = 0x0000000B;
                                                        ((int *) sp)[91] = 0x0000000B;
                                                        var170 = ((int *) sp)[92];
                                                      }
                                                      if (var170 < 0)
                                                      {
                                                        ((int *) sp)[92] = 0x00000000;
                                                      }
                                                      var171 = ((int *) sp)[92];
                                                      if (var168 == 0x00000000)
                                                      {

                                                      label282:
                                                        sceVshCommonUtil_98E57F6D (var161);
                                                        var174 = ((int *) sp)[20];
                                                        if (var174 != 0x00000000)
                                                        {
                                                          var187 = ((int *) sp)[21];
                                                          var190 var191 = (*var174) (var187);
                                                          var175 = ((int *) sp)[16];
                                                        }
                                                        else
                                                        {
                                                          var175 = ((int *) sp)[16];
                                                        }
                                                        if (var175 != 0x00000000)
                                                        {
                                                          var182 = ((int *) sp)[17];
                                                          var185 var186 = (*var175) (var182);
                                                          var176 = ((int *) sp)[12];
                                                        }
                                                        else
                                                        {
                                                          var176 = ((int *) sp)[12];
                                                        }
                                                        if (var176 != 0x00000000)
                                                        {
                                                          var177 = ((int *) sp)[13];
                                                          var180 var181 = (*var176) (var177);
                                                        }
                                                        else
                                                        {
                                                        }
                                                      }
                                                      else
                                                      {
                                                        if (var171 == 0x00000000)
                                                        {
                                                          goto label282;
                                                        }
                                                        else
                                                        {
                                                          if (!(((var171 < var168)) != 0x00000000))
                                                            goto label282;
                                                          sceVshCommonUtil_98E57F6D (var161);
                                                          var194 = ((int *) sp)[20];
                                                          if (var194 != 0x00000000)
                                                          {
                                                            var207 = ((int *) sp)[21];
                                                            var210 var211 = (*var194) (var207);
                                                            var195 = ((int *) sp)[16];
                                                          }
                                                          else
                                                          {
                                                            var195 = ((int *) sp)[16];
                                                          }
                                                          if (var195 != 0x00000000)
                                                          {
                                                            var202 = ((int *) sp)[17];
                                                            var205 var206 = (*var195) (var202);
                                                            var196 = ((int *) sp)[12];
                                                          }
                                                          else
                                                          {
                                                            var196 = ((int *) sp)[12];
                                                          }
                                                          if (var196 != 0x00000000)
                                                          {
                                                            var197 = ((int *) sp)[13];
                                                            var200 var201 = (*var196) (var197);
                                                          }
                                                          else
                                                          {
                                                          }
                                                        }
                                                      }
                                                    }
                                                    else
                                                    {
                                                      if (var159 != 0x80120005)
                                                      {
                                                        var73 = ((int *) sp)[20];
                                                        goto label333;
                                                      }
                                                      else
                                                      {
                                                        var160 = ((int *) sp)[20];
                                                        ((int *) sp)[91] = 0x00000000;
                                                        goto label248;
                                                      }
                                                    }
                                                  }
                                                }
                                                else
                                                {
                                                  scePaf_C9831AFF ("Updater.\n", var132, var131, var127);
                                                  var136 = ((int *) sp)[88];
                                                  var137 = sp + 0x00000130;
                                                  var140 = sub_04290 (var136, "UPDATER_VER", var137, 0x00000008);
                                                  var141 = ((char *) sp)[304];
                                                  if (var140 != 0x00000000)
                                                  {
                                                    sub_01988 (var111);
                                                    var292 = sp + 0x00000110;
                                                    while (1) {
                                                      var73 = ((int *) sp)[20];
                                                      if (var93 == var292)
                                                        break;
                                                      var292 = var292 + 0xFFFFFFDC;
                                                      sub_01988 ((var292 + 0x00000018));
                                                      sub_01988 ((var292 + 0x0000000C));
                                                      sub_01988 (var292);
                                                      continue;
                                                    }
                                                    goto label333;
                                                  }
                                                  else
                                                  {
                                                    var142 = ((char *) sp)[306];
                                                    var143 = ((char *) sp)[307];
                                                    var144 = (((var141 * 0x00000064) + (((var142 << 0x00000002) + var142) << 0x00000001)) + var143) + 0xFFFFEB30;
                                                    if (var133 == var144)
                                                    {
                                                      scePaf_C9831AFF ("updater version is equal.\n", var143);
                                                      sub_01988 (var111);
                                                      var265 = sp + 0x00000110;
                                                      while (1) {
                                                        if (var93 == var265)
                                                          break;
                                                        var265 = var265 + 0xFFFFFFDC;
                                                        sub_01988 ((var265 + 0x00000018));
                                                        sub_01988 ((var265 + 0x0000000C));
                                                        sub_01988 (var265);
                                                        continue;
                                                      }
                                                      var272 = ((int *) sp)[20];
                                                      if (var272 != 0x00000000)
                                                      {
                                                        var285 = ((int *) sp)[21];
                                                        var288 var289 = (*var272) (var285);
                                                        var273 = ((int *) sp)[16];
                                                      }
                                                      else
                                                      {
                                                        var273 = ((int *) sp)[16];
                                                      }
                                                      if (var273 != 0x00000000)
                                                      {
                                                        var280 = ((int *) sp)[17];
                                                        var283 var284 = (*var273) (var280);
                                                        var274 = ((int *) sp)[12];
                                                      }
                                                      else
                                                      {
                                                        var274 = ((int *) sp)[12];
                                                      }
                                                      if (var274 != 0x00000000)
                                                      {
                                                        var275 = ((int *) sp)[13];
                                                        var278 var279 = (*var274) (var275);
                                                      }
                                                      else
                                                      {
                                                      }
                                                    }
                                                    else
                                                    {
                                                      if (!(((var144 < var133)) != 0x00000000))
                                                        goto label221;
                                                      scePaf_C9831AFF ("updater version is older.\n", var143);
                                                      sub_01988 (var111);
                                                      var236 = sp + 0x00000110;
                                                      while (1) {
                                                        if (var93 == var236)
                                                          break;
                                                        var236 = var236 + 0xFFFFFFDC;
                                                        sub_01988 ((var236 + 0x00000018));
                                                        sub_01988 ((var236 + 0x0000000C));
                                                        sub_01988 (var236);
                                                        continue;
                                                      }
                                                      var243 = ((int *) sp)[20];
                                                      if (var243 != 0x00000000)
                                                      {
                                                        var256 = ((int *) sp)[21];
                                                        var259 var260 = (*var243) (var256);
                                                        var244 = ((int *) sp)[16];
                                                      }
                                                      else
                                                      {
                                                        var244 = ((int *) sp)[16];
                                                      }
                                                      if (var244 != 0x00000000)
                                                      {
                                                        var251 = ((int *) sp)[17];
                                                        var254 var255 = (*var244) (var251);
                                                        var245 = ((int *) sp)[12];
                                                      }
                                                      else
                                                      {
                                                        var245 = ((int *) sp)[12];
                                                      }
                                                      if (var245 != 0x00000000)
                                                      {
                                                        var246 = ((int *) sp)[13];
                                                        var249 var250 = (*var245) (var246);
                                                      }
                                                      else
                                                      {
                                                      }
                                                    }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                                else
                                {
                                  var98 = var98 + 0x00000001;
                                  if (!(((var98 < 0x00000004)) != 0x00000000))
                                    break;
                                  var100 = ((int *) var99)[0];
                                  continue;
                                }
                                goto label349;
                              }

                            label319:
                              var104 = sp + 0x00000110;
                              while (1) {
                                var73 = ((int *) sp)[20];
                                if (var93 == var104)
                                  break;
                                var104 = var104 + 0xFFFFFFDC;
                                sub_01988 ((var104 + 0x00000018));
                                sub_01988 ((var104 + 0x0000000C));
                                sub_01988 (var104);
                                continue;
                              }
                              goto label333;
                            }
                            else
                            {
                              if (var90 != 0x80120005)
                                goto label332;
                              scePaf_980228BA (var87, "1.00");
                              goto label72;
                            }
                          }
                          else
                          {
                            var70 = ((char *) sp)[98];
                            goto label329;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }

label349:
  ra = ((int *) sp)[103];
  var14 = ((int *) sp)[102];
  var15 = ((int *) sp)[101];
  var16 = ((int *) sp)[100];
  var17 = ((int *) sp)[99];
  var18 = ((int *) sp)[98];
  var19 = ((int *) sp)[97];
  var20 = ((int *) sp)[96];
  sp = sp + 0x000001A0;
  return;
}

/**
 * Subroutine at address 0x000053C0
 */
void vsh_EF3DAF7D (int arg1, int arg2)
{
  sp = sp + 0xFFFFFEC0;
  ((int *) sp)[72] = s0;
  var1 = arg2;
  var2 = sp + 0x00000100;
  ((int *) sp)[78] = ra;
  ((int *) sp)[77] = s5;
  ((int *) sp)[76] = s4;
  ((int *) sp)[75] = s3;
  ((int *) sp)[74] = s2;
  ((int *) sp)[73] = s1;
  var5 = sceVshCommonUtil_B6E7804E (arg1, var2);
  if (var5 != 0x00000000)
  {
    scePaf_C9831AFF ("sceSystemFileLoadAll failed : 0x%x\n", var5);
  }
  else
  {
    var6 = ((int *) sp)[64];
    var7 = sp + 0x00000104;
    ((int *) sp)[0] = 0x000040C4;
    ((int *) sp)[1] = var6;
    var10 = sub_041C4 (var6, "REGION", var7);
    if (var10 != 0x00000000)
    {
      var33 = ((int *) sp)[0];

    label182:
      if (var33 != 0x00000000)
      {
        var40 = ((int *) sp)[1];
        var43 var44 = (*var33) (var40);
      }
      else
      {
      }
    }
    else
    {
      var11 = ((int *) sp)[0];
      var12 = ((int *) sp)[65];
      var15 = sub_040FC (var12);
      var16 = ((int *) sp)[64];
      if (var15 <= 0)
      {
        var175 = ((int *) sp)[0];
        if (var175 != 0x00000000)
        {
          var176 = ((int *) sp)[1];
          var179 var180 = (*var175) (var176);
        }
        else
        {
        }
      }
      else
      {
        var17 = sp + 0x00000108;
        var20 = sub_041C4 (var16, "BOOTABLE", var17);
        var21 = ((int *) sp)[64];
        if (var20 != 0x00000000)
        {

        label181:
          var33 = ((int *) sp)[0];
          goto label182;
        }
        else
        {
          var22 = sp + 0x00000010;
          var25 = sub_04290 (var21, "CATEGORY", var22, 0x00000004);
          var26 = ((char *) sp)[16];
          if (var25 != 0x00000000)
            goto label181;
          var27 = ((char *) var1)[0];
          if (var26 != var27)
          {
            var174 = ((char *) sp)[17];

          label178:

          label179:
            scePaf_C9831AFF ("CATEGORY(%s) != '%s'\n", var22, var1);
            goto label181;
          }
          else
          {
            var28 = ((char *) sp)[17];
            var29 = ((char *) var1)[1];
            if (var28 == var29)
            {
              var45 = ((char *) sp)[18];
              var46 = ((char *) var1)[2];
              if (var45 != var46)
                goto label179;
              var47 = ((int *) sp)[64];
              var48 = sp + 0x00000020;
              var51 = sub_04290 (var47, "PSP_SYSTEM_VER", var48, 0x00000008);
              if (var51 == 0x00000000)
              {

              label38:
                var54 = sp + 0x00000030;
                var55 = 0x00000003;
                var56 = var54;
                while (1) {
                  var55 = var55 + 0xFFFFFFFF;
                  ((int *) var56)[0] = 0x00000000;
                  ((int *) var56)[1] = 0x00000000;
                  ((int *) var56)[3] = 0x00000000;
                  ((int *) var56)[4] = 0x00000000;
                  ((int *) var56)[6] = 0x00000000;
                  ((int *) var56)[7] = 0x00000000;
                  var56 = var56 + 0x00000024;
                  if (var55 != 0xFFFFFFFF)
                    continue;
                  break;
                }
                sub_05960 (var54);
                var59 = 0x00000000;
                var60 = var54;
                var61 = ((int *) var60)[0];
                while (1) {
                  var62 = *((char *) 0x0001D13C);
                  var63 = ((char *) var61)[0];
                  var60 = var60 + 0x00000024;
                  var64 = 0x00000000;
                  if (var63 == var62)
                  {
                    var173 = scePaf_66FE90D7 (var61, "release");
                    if (var173 == 0x00000000)
                    {
                      var64 = 0x00000001;
                    }
                    else
                    {
                    }
                  }
                  if (var64 != 0x00000000)
                  {
                    var72 = sp + 0x000000D0;
                    if (((var59 < 0x00000004)) == 0x00000000)
                      goto label167;
                    ((int *) sp)[52] = 0x00000000;
                    ((int *) sp)[53] = 0x00000000;
                    sub_01ADC (var72, ((var54 + (((var59 << 0x00000003) + var59) << 0x00000002)) + 0x0000000C));
                    var75 = ((int *) sp)[53];
                    var76 = ((int *) sp)[52];
                    if (((var75 < 0x00000004)) != 0x00000000)
                    {
                      sub_01988 (var72);
                      var164 = sp + 0x000000C0;
                      while (1) {
                        if (var54 == var164)
                          break;
                        var164 = var164 + 0xFFFFFFDC;
                        sub_01988 ((var164 + 0x00000018));
                        sub_01988 ((var164 + 0x0000000C));
                        sub_01988 (var164);
                        continue;
                      }
                      goto label181;
                    }
                    else
                    {
                      var77 = ((char *) var76)[0];
                      if (((var77 < 0x00000030)) != 0x00000000)
                      {

                      label153:
                        sub_01988 (var72);
                        var81 = sp + 0x000000C0;
                        while (1) {
                          if (var54 == var81)
                            break;
                          var81 = var81 + 0xFFFFFFDC;
                          sub_01988 ((var81 + 0x00000018));
                          sub_01988 ((var81 + 0x0000000C));
                          sub_01988 (var81);
                          continue;
                        }
                        goto label181;
                      }
                      else
                      {
                        if (((var77 < 0x0000003A)) == 0x00000000)
                        {
                          goto label153;
                        }
                        else
                        {
                          var78 = ((char *) var76)[1];
                          if (!(var78 == 0x0000002E))
                            goto label153;
                          var88 = ((char *) var76)[2];
                          if (((var88 < 0x00000030)) != 0x00000000)
                          {
                            goto label153;
                          }
                          else
                          {
                            if (((var88 < 0x0000003A)) == 0x00000000)
                              goto label153;
                            var89 = ((char *) var76)[3];
                            if (((var89 < 0x00000030)) != 0x00000000)
                            {
                              goto label153;
                            }
                            else
                            {
                              var90 = ((char *) sp)[32];
                              if (((var89 < 0x0000003A)) == 0x00000000)
                                goto label153;
                              var91 = ((char *) sp)[34];
                              var92 = ((char *) sp)[35];
                              var93 = ((var88 << 0x00000002) + var88) << 0x00000001;
                              if (((((((var77 * 0x00000064) + var93) + var89) + 0xFFFFEB30) < ((((var90 * 0x00000064) + (((var91 << 0x00000002) + var91) << 0x00000001)) + var92) + 0xFFFFEB30))) != 0x00000000)
                              {
                                scePaf_C9831AFF ("game version is newer.\n", var93, var92, var77);
                                sub_01988 (var72);
                                var149 = sp + 0x000000C0;
                                while (1) {
                                  if (var54 == var149)
                                    break;
                                  var149 = var149 + 0xFFFFFFDC;
                                  sub_01988 ((var149 + 0x00000018));
                                  sub_01988 ((var149 + 0x0000000C));
                                  sub_01988 (var149);
                                  continue;
                                }
                                var156 = ((int *) sp)[0];
                                if (var156 != 0x00000000)
                                {
                                  var157 = ((int *) sp)[1];
                                  var160 var161 = (*var156) (var157);
                                }
                                else
                                {
                                }
                              }
                              else
                              {
                                sub_01988 (var72);
                                var96 = sp + 0x000000C0;
                                while (1) {
                                  if (var54 == var96)
                                    break;
                                  var96 = var96 + 0xFFFFFFDC;
                                  sub_01988 ((var96 + 0x00000018));
                                  sub_01988 ((var96 + 0x0000000C));
                                  sub_01988 (var96);
                                  continue;
                                }
                                var103 = ((int *) sp)[66];
                                var104 = ((int *) sp)[64];
                                if (var103 != 0x00000001)
                                {
                                  var139 = ((int *) sp)[0];
                                  if (var139 != 0x00000000)
                                  {
                                    var140 = ((int *) sp)[1];
                                    var143 var144 = (*var139) (var140);
                                  }
                                  else
                                  {
                                  }
                                }
                                else
                                {
                                  var105 = sp + 0x0000010C;
                                  var108 = sub_041C4 (var104, "PARENTAL_LEVEL", var105);
                                  if (var108 == 0x00000000)
                                  {

                                  label115:
                                    var110 = sp + 0x000000E0;
                                    sceVshCommonUtil_2ACAD845 (var110, "/CONFIG/SYSTEM/LOCK");
                                    var113 = sp + 0x00000110;
                                    var116 = sceVshCommonUtil_63FFE887 (var110, "parental_level", var113);
                                    if (var116 != 0x00000000)
                                    {
                                      scePaf_C9831AFF ("registry_access returned %x\n", var116);
                                      ((int *) sp)[68] = 0x00000000;
                                    }
                                    var117 = ((int *) sp)[67];
                                    if (((var117 < 0x0000000C)) != 0x00000000)
                                    {
                                      var119 = ((int *) sp)[68];
                                    }
                                    else
                                    {
                                      var118 = ((int *) sp)[68];
                                      var117 = 0x0000000B;
                                      ((int *) sp)[67] = 0x0000000B;
                                      var119 = ((int *) sp)[68];
                                    }
                                    if (var119 < 0)
                                    {
                                      ((int *) sp)[68] = 0x00000000;
                                    }
                                    var120 = ((int *) sp)[68];
                                    if (var117 == 0x00000000)
                                    {

                                    label139:
                                      sceVshCommonUtil_98E57F6D (var110);
                                      var123 = ((int *) sp)[0];
                                      if (var123 != 0x00000000)
                                      {
                                        var124 = ((int *) sp)[1];
                                        var127 var128 = (*var123) (var124);
                                      }
                                      else
                                      {
                                      }
                                    }
                                    else
                                    {
                                      if (var120 == 0x00000000)
                                      {
                                        goto label139;
                                      }
                                      else
                                      {
                                        if (!(((var120 < var117)) != 0x00000000))
                                          goto label139;
                                        sceVshCommonUtil_98E57F6D (var110);
                                        var131 = ((int *) sp)[0];
                                        if (var131 != 0x00000000)
                                        {
                                          var132 = ((int *) sp)[1];
                                          var135 var136 = (*var131) (var132);
                                        }
                                        else
                                        {
                                        }
                                      }
                                    }
                                  }
                                  else
                                  {
                                    if (var108 != 0x80120005)
                                    {
                                      var33 = ((int *) sp)[0];
                                      goto label182;
                                    }
                                    else
                                    {
                                      var109 = ((int *) sp)[0];
                                      ((int *) sp)[67] = 0x00000000;
                                      goto label115;
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                  else
                  {
                    var59 = var59 + 0x00000001;
                    if (!(((var59 < 0x00000004)) != 0x00000000))
                      break;
                    var61 = ((int *) var60)[0];
                    continue;
                  }
                  goto label187;
                }

              label167:
                var65 = sp + 0x000000C0;
                while (1) {
                  if (var54 == var65)
                    break;
                  var65 = var65 + 0xFFFFFFDC;
                  sub_01988 ((var65 + 0x00000018));
                  sub_01988 ((var65 + 0x0000000C));
                  sub_01988 (var65);
                  continue;
                }
                goto label181;
              }
              else
              {
                if (var51 != 0x80120005)
                {
                  goto label181;
                }
                else
                {
                  scePaf_980228BA (var48, "1.00");
                  goto label38;
                }
              }
            }
            else
            {
              var30 = ((char *) sp)[18];
              goto label178;
            }
          }
        }
      }
    }
  }

label187:
  ra = ((int *) sp)[78];
  var34 = ((int *) sp)[77];
  var35 = ((int *) sp)[76];
  var36 = ((int *) sp)[75];
  var37 = ((int *) sp)[74];
  var38 = ((int *) sp)[73];
  var39 = ((int *) sp)[72];
  sp = sp + 0x00000140;
  return;
}

/**
 * Subroutine at address 0x00005944
 */
void sub_05944 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  scePaf_545FE2DA (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00005960
 */
void sub_05960 (int arg1)
{
  sp = sp + 0xFFFFFEE0;
  ((int *) sp)[62] = s2;
  var1 = sp;
  ((int *) sp)[64] = s4;
  var2 = arg1;
  ((int *) sp)[60] = s0;
  ((int *) sp)[69] = ra;
  ((int *) sp)[68] = fp;
  ((int *) sp)[67] = s7;
  ((int *) sp)[66] = s6;
  ((int *) sp)[65] = s5;
  ((int *) sp)[63] = s3;
  ((int *) sp)[61] = s1;
  ((int *) sp)[56] = 0x00000000;
  var5 = IoFileMgrForUser_ACE946E8 (0x0001D294, var1);
  if (var5 < 0)
  {
    scePaf_C9831AFF ("cannot open [%s] (ret=%x)\n", 0x0001D294, var5);
  }
  else
  {
    var6 = ((int *) sp)[2];
    var7 = ((int *) sp)[3];
    var8 = ((int *) sp)[2];
    if ((var6 | var7) == 0x00000000)
    {
      scePaf_C9831AFF ("[%s] file size zero\n", 0x0001D294);
    }
    else
    {
      var11 = scePaf_3586BE05 (0x00000040, var8);
      var12 = var11;
      if (var11 == 0x00000000)
      {
        scePaf_C9831AFF ("cannot alloc memory\n");
      }
      else
      {
        var13 = ((int *) sp)[2];
        var14 = sp + 0x000000E0;
        ((int *) sp)[24] = 0x00005944;
        ((int *) sp)[25] = var12;
        var17 = vsh_182745AF (0x0001D294, var11, var13, var14);
        var18 = var17;
        if (var17 < 0)
        {
          scePaf_C9831AFF ("error : vvvGetVersion : %x\n", var17);
          var87 = ((int *) sp)[24];
          if (var87 != 0x00000000)
          {
            var88 = ((int *) sp)[25];
            var91 var92 = (*var87) (var88);
          }
          else
          {
          }
        }
        else
        {
          var19 = sp + 0x00000070;
          var20 = sp + 0x00000080;
          sub_05C38 (var19);
          var23 = sp + 0x00000090;
          var24 = sp + 0x000000B0;
          ((int *) sp)[36] = 0x00000000;
          var25 = 0x00000000;
          ((int *) sp)[37] = 0x00000000;
          sub_01A8C (var23, var12);
          ((int *) sp)[44] = 0x00000000;
          ((int *) sp)[45] = 0x00000000;
          sub_01A8C (var24, 0x0001D2B0);
          var30 = sp + 0x00000070;
          scePaf_8D3B3587 (var30, var23, var24, 0x00000004);
          sub_01988 (var24);
          sub_01988 (var23);
          var37 = ((int *) sp)[29];
          var38 = var2;
          if (!(var37 == 0x00000000))
          {
            var39 = var2 + 0x00000018;
            var40 = var2 + 0x0000000C;
            var41 = sp + 0x000000D0;
            var42 = 0x00000000;
            var43 = var41;
            while (1) {
              var44 = sp + 0x00000080;
              sub_05C38 (var43);
              var47 = ((int *) sp)[28];
              ((int *) sp)[44] = 0x00000000;
              var25 = var25 + 0x00000001;
              var42 = var42 + 0x0000000C;
              ((int *) sp)[45] = 0x00000000;
              sub_01A8C (var24, 0x0001D2B4);
              scePaf_8D3B3587 (var41, (var47 + var42), var24, 0x00000003);
              sub_01988 (var24);
              var54 = ((int *) sp)[53];
              var38 = var38 + 0x00000024;
              if (var54 != 0x00000000)
              {
                var82 = ((int *) sp)[52];
                sub_01ADC (var38, var82);
                var54 = ((int *) sp)[53];
              }
              var40 = var40 + 0x00000024;
              if (((var54 < 0x00000002)) == 0x00000000)
              {
                var79 = ((int *) sp)[52];
                sub_01ADC (var40, (var79 + 0x0000000C));
                var54 = ((int *) sp)[53];
              }
              var39 = var39 + 0x00000024;
              if (((var54 < 0x00000003)) == 0x00000000)
              {
                var76 = ((int *) sp)[52];
                sub_01ADC (var39, (var76 + 0x00000018));
              }
              sub_05C48 (var41);
              var57 = ((int *) sp)[29];
              var43 = var41;
              if (((var25 < var57)) != 0x00000000)
                continue;
              break;
            }
          }
          var58 = sp + 0x00000070;
          sub_05C48 (var58);
          var61 = ((int *) sp)[24];
          if (var61 != 0x00000000)
          {
            var71 = ((int *) sp)[25];
            var74 var75 = (*var61) (var71);
          }
          else
          {
          }
        }
      }
    }
  }
  ra = ((int *) sp)[69];
  var62 = ((int *) sp)[68];
  var63 = ((int *) sp)[67];
  var64 = ((int *) sp)[66];
  var65 = ((int *) sp)[65];
  var66 = ((int *) sp)[64];
  var67 = ((int *) sp)[63];
  var68 = ((int *) sp)[62];
  var69 = ((int *) sp)[61];
  var70 = ((int *) sp)[60];
  sp = sp + 0x00000120;
  return;
}

/**
 * Subroutine at address 0x00005C38
 */
void sub_05C38 (int arg1)
{
  ((int *) arg1)[2] = 0x00000000;
  ((int *) arg1)[0] = 0x00000000;
  ((int *) arg1)[1] = 0x00000000;
  return;
}

/**
 * Subroutine at address 0x00005C48
 */
void sub_05C48 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  var1 = arg1;
  ((int *) sp)[3] = ra;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var2 = ((int *) arg1)[0];
  ra = ((int *) sp)[3];
  if (!(var2 == 0x00000000))
  {
    var3 = ((int *) var1)[1];
    var4 = var3 + 0xFFFFFFFF;
    var5 = ((var4 << 0x00000001) + var4) << 0x00000002;
    if (!(var4 < 0))
    {
      while (1) {
        var4 = var4 + 0xFFFFFFFF;
        sub_01988 ((var2 + var5));
        var5 = var5 + 0xFFFFFFF4;
        if (var4 < 0)
          break;
        var2 = ((int *) var1)[0];
        continue;
      }
      var8 = ((int *) var1)[0];
    }
    scePaf_7EC15225 (var8);
    ra = ((int *) sp)[3];
  }
  var11 = ((int *) sp)[2];
  var12 = ((int *) sp)[1];
  var13 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00005CC4
 */
void sub_05CC4 ()
{
  sp = sp + 0xFFFFFF40;
  var1 = sp;
  ((int *) sp)[46] = ra;
  ((int *) sp)[45] = s1;
  ((int *) sp)[44] = s0;
  vsh_741C9BE1 (0x0000000A, var1, 0x0000000C);
  var4 = sp + 0x00000010;
  sceCtrl_3A622550 (var4, 0x00000001);
  var7 = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  if (!(var7 != 0x00000000))
  {
    var9 = ((int *) sp)[5];
    if (var8 == 0x00000001)
    {

    label9:
      var87 = vsh_163B90CB (0x00000007);
      var88 = sp;
      ((int *) sp)[2] = 0x00000001;
      ((int *) sp)[1] = 0x00000000;
      vsh_2B8B7775 (0x0000000A);
      vsh_595F8E64 ();
      sub_02CC4 ();
    }
    else
    {
      if (var9 == 0x00009009)
        goto label9;
    }
  }
  sub_03A7C ();
  sceVshBridge_C949966C (0x00000020);
  var16 = sub_061BC ();
  *((int *) 0x00020E68) = var16;
  if (var16 == 0xFFFFFFFF)
  {
    scePaf_C9831AFF ("check_registry() error\n");
    sub_02B18 (0x00000001);
  }
  var19 = vsh_7B9AA4D4 ();
  var22 = sub_05FAC (var19);
  if (var22 != 0x00000000)
  {
    scePaf_C9831AFF ("init_registry() = %x\n", var22);
    sub_02B18 (0x00000001);
    var23 = sp + 0x00000020;
  }
  else
  {
    var23 = sp + 0x00000020;
  }
  scePaf_98E1BC87 (var23);
  ((int *) sp)[10] = 0x00100000;
  ((int *) sp)[8] = 0x00000002;
  var28 = scePaf_B7E6052B (0x00000094);
  scePaf_84240C1D (var28, var23);
  *((int *) 0x00020E4C) = var28;
  var33 = scePaf_F8301DBC ();
  if (var33 == 0x00000000)
  {
    sub_02B18 (0x00000001);
  }
  else
  {
  }
  scePaf_78219D10 (0x0001B650);
  scePaf_AAD0EE78 (0x000066EC);
  scePaf_E69C3B1B (0x00006728);
  var40 = sp + 0x00000070;
  sceVshCommonUtil_2ACAD845 (var40, "/CONFIG/SYSTEM/XMB");
  var43 = sp + 0x000000A0;
  var46 = sceVshCommonUtil_63FFE887 (var40, "button_assign", var43);
  var47 = ((int *) sp)[40];
  if (var46 != 0x00000000)
  {
    scePaf_C9831AFF ("registry_access returned %d\n", var46);
  }
  else
  {
    if (!(var47 == 0x00000000))
    {
    }
  }
  scePaf_AD43F865 (0x00000001);
  sceVshCommonUtil_98E57F6D (var40);
  var52 = sp + 0x000000A4;
  var55 = scePaf_27760582 ("flash0:/vsh/etc/jis2ucs.bin", 0x00000000, 0x00000000, var52, 0x00000000);
  var56 = sp + 0x000000A8;
  *((int *) 0x00020E60) = var55;
  var59 = scePaf_27760582 ("flash0:/vsh/etc/ucs2jis.bin", 0x00000000, 0x00000000, var56, 0x00000000);
  var60 = *((int *) 0x00020E60);
  *((int *) 0x00020E64) = var59;
  scePaf_B4D1CBBF (var60, var59);
  var63 = sp + 0x00000090;
  scePaf_D27DE19A (var63);
  var66 = ((unsigned short *) sp)[75];
  var67 = ((unsigned short *) sp)[76];
  var68 = ((unsigned short *) sp)[77];
  scePaf_A82E3C19 ((((var66 << 0x00000010) | (var67 << 0x00000008)) | var68));
  ra = ((int *) sp)[46];
  var71 = ((int *) sp)[45];
  var72 = ((int *) sp)[44];
  sp = sp + 0x000000C0;
  return;
}

/**
 * Subroutine at address 0x00005F34
 */
void sub_05F34 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[3] = ra;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E4C);
  if (var1 != 0x00000000)
  {
    scePaf_5D786CDD (var1);
    scePaf_4E67BB08 (var1);
  }
  var2 = *((int *) 0x00020E60);
  scePaf_545FE2DA (var2);
  var5 = *((int *) 0x00020E64);
  *((int *) 0x00020E60) = 0x00000000;
  scePaf_545FE2DA (var5);
  *((int *) 0x00020E64) = 0x00000000;
  sub_03AD4 ();
  ra = ((int *) sp)[3];
  var10 = ((int *) sp)[2];
  var11 = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00005FAC
 */
int sub_05FAC (int arg1)
{
  sp = sp + 0xFFFFFF60;
  ((int *) sp)[34] = s2;
  var1 = sp + 0x00000060;
  ((int *) sp)[36] = s4;
  var2 = arg1;
  ((int *) sp)[38] = ra;
  ((int *) sp)[33] = s1;
  ((int *) sp)[37] = s5;
  ((int *) sp)[35] = s3;
  ((int *) sp)[32] = s0;
  sceVshCommonUtil_FA969B6A (var1, 0x00000001);
  var7 = IoFileMgrForUser_06A70004 ("flash1:/registry", 0x00000FFF);
  var8 = sp;
  var11 = IoFileMgrForUser_ACE946E8 ("flash1:/registry/init.dat", var8);
  if (var11 == 0x00000000)
  {
    var66 = vsh_163B90CB (0x00000001);
    var36 = var66;
    if (var66 != 0x00000000)
    {

    label46:
      scePaf_C9831AFF ("vshIoDevctl(SCE_LFATFS_DEVCTL_SYNC) failed 0x%x\n", var36);

    label56:
      sceVshCommonUtil_D4D66154 (var1);
      var15 = var36;
    }
    else
    {
      *((int *) 0x00020E68) = 0x00000001;

    label13:
      var12 = *((int *) 0x00020E68);
      if (var12 == 0x00000001)
      {
        var22 = sp + 0x00000070;
        var25 = sceVshBridge_4DB43867 (0x00000046, 0x00000000, var22, 0x00000001);
        if (var25 != 0x00000000)
        {
          scePaf_C9831AFF ("vshIdStorageLookup() = %x\n", var25);
          var26 = 0x00000000;
        }
        else
        {
          var26 = ((unsigned char *) sp)[112];
        }
        sceVshBridge_4A596D2D (0x00000400, var26);
        var31 = IoFileMgrForUser_109F50BC (0x0001D3CC, 0x00000203, 0x00000FFF);
        var32 = var31;
        if (var31 < 0)
        {
          scePaf_C9831AFF ("sceIoOpen() = %x\n", var31);
          sceVshCommonUtil_D4D66154 (var1);
          var15 = var32;
        }
        else
        {
          var35 = IoFileMgrForUser_42EC03AC (var31, 0x00000000, 0x00000000);
          var36 = var35;
          if (var35 == 0x00000000)
          {
            IoFileMgrForUser_810C4BC3 (var32);
            var47 = sceVshCommonUtil_C403411C (var2, var26);
            var36 = var47;
            if (var47 == 0x00000000)
            {
              var52 = IoFileMgrForUser_F27A9C51 (0x0001D3CC);
              var36 = var52;
              if (var52 != 0x00000000)
                goto label46;
              var55 = sceVshBridge_2380DC08 ("flashfat1:", 0x00005802, 0x00000000, 0x00000000, 0x00000000, 0x00000000);
              var36 = var55;
              if (var55 >= 0)
              {

              label59:
                sceVshCommonUtil_D4D66154 (var1);
                var15 = 0x00000000;
              }
              else
              {
                goto label46;
              }
            }
            else
            {
              scePaf_C9831AFF ("vshRegSysconfInitRegistry( %d, %d ) = %x\n", var2, var26, var47);
              goto label56;
            }
          }
          else
          {
            scePaf_C9831AFF ("sceIoWrite() = %x\n", var35);
            IoFileMgrForUser_810C4BC3 (var32);
            goto label56;
          }
        }
      }
      else
      goto label59;
    }
  }
  else
  goto label13;
  ra = ((int *) sp)[38];
  var16 = ((int *) sp)[37];
  var17 = ((int *) sp)[36];
  var18 = ((int *) sp)[35];
  var19 = ((int *) sp)[34];
  var20 = ((int *) sp)[33];
  var21 = ((int *) sp)[32];
  sp = sp + 0x000000A0;
  return var15;
}

/**
 * Subroutine at address 0x000061BC
 */
int sub_061BC ()
{
  sp = sp + 0xFFFFFFB0;
  var1 = sp;
  ((int *) sp)[16] = ra;
  sceVshCommonUtil_FA969B6A (var1, 0x00000001);
  var4 = sp + 0x00000010;
  vsh_741C9BE1 (0x0000000A, var4, 0x0000000C);
  var7 = sp + 0x00000020;
  vsh_741C9BE1 (0x00000000, var7, 0x00000020);
  var10 = ((int *) sp)[4];
  if (var10 != 0x00000000)
  {

  label10:
  }
  else
  {
    var11 = ((int *) sp)[11];
    if (!(var11 == 0x00000000))
      goto label10;
  }
  var14 = sceVshCommonUtil_58234CB0 (0x00000001);
  var15 = var14;
  var16 = sp;
  if (var15 == 0x80082714)
  {
    sceVshCommonUtil_D4D66154 (var16);
    var19 = 0x00000001;
  }
  else
  {
    if (var15 != 0x00000000)
    {
      scePaf_C9831AFF ("vshRegSysconfUpdateRegistry() = %x\n", var15);
      var22 = sp;
      sceVshCommonUtil_D4D66154 (var22);
      var19 = 0xFFFFFFFF;
    }
    else
    {
      sceVshCommonUtil_D4D66154 (var16);
      var19 = 0x00000000;
    }
  }
  ra = ((int *) sp)[16];
  sp = sp + 0x00000050;
  return var19;
}

/**
 * Subroutine at address 0x00006274
 */
int sub_06274 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  var1 = sp;
  var4 = sceRtc_3F7AD767 (var1);
  ra = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return ((0x00000000 < var4));
}

/**
 * Subroutine at address 0x00006294
 */
void sub_06294 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFF40;
  ((int *) sp)[44] = fp;
  ((int *) sp)[45] = ra;
  ((int *) sp)[43] = s7;
  ((int *) sp)[42] = s6;
  ((int *) sp)[41] = s5;
  ((int *) sp)[40] = s4;
  ((int *) sp)[39] = s3;
  ((int *) sp)[38] = s2;
  ((int *) sp)[37] = s1;
  ((int *) sp)[36] = s0;
  var1 = *((int *) 0x0001D4FC);
  var2 = *((int *) 0x0001D514);
  var3 = *((int *) 0x0001D500);
  var4 = *((int *) 0x0001D518);
  var5 = *((int *) 0x0001D508);
  var6 = *((int *) 0x0001D504);
  var7 = *((int *) 0x0001D50C);
  var8 = *((int *) 0x0001D510);
  var9 = *((int *) 0x0001D530);
  var10 = *((int *) 0x0001D520);
  var11 = *((int *) 0x0001D524);
  var12 = *((int *) 0x0001D528);
  var13 = *((int *) 0x0001D52C);
  var14 = *((int *) 0x0001D51C);
  ((int *) sp)[0] = var1;
  var15 = 0x0001D534;
  ((int *) sp)[1] = var3;
  var16 = sp + 0x00000040;
  ((int *) sp)[2] = var6;
  ((int *) sp)[32] = arg2;
  ((int *) sp)[3] = var5;
  ((int *) sp)[4] = var7;
  ((int *) sp)[5] = var8;
  ((int *) sp)[6] = var2;
  ((int *) sp)[8] = var4;
  ((int *) sp)[9] = var14;
  ((int *) sp)[10] = var10;
  ((int *) sp)[11] = var11;
  ((int *) sp)[12] = var12;
  ((int *) sp)[13] = var13;
  ((int *) sp)[14] = var9;
  while (1) {
    var17 = ((int *) var15)[0];
    var18 = ((int *) var15)[1];
    var19 = ((int *) var15)[2];
    var20 = ((int *) var15)[3];
    ((int *) var16)[0] = var17;
    var15 = var15 + 0x00000010;
    var16 = var16 + 0x00000010;
    ((int *) var16)[1073741821] = var18;
    ((int *) var16)[1073741822] = var19;
    ((int *) var16)[1073741823] = var20;
    if (var15 != 0x0001D564)
      continue;
    break;
  }
  var21 = 0x00000000;
  var22 = sp;
  while (1) {
    var23 = ((int *) var22)[8];
    var24 = 0x00000000;
    if ((arg1 & var23) != 0x00000000)
    {
      var34 = var22;
      var35 = sp;
      while (1) {
        var36 = ((int *) var35)[16];
        var37 = ((int *) var34)[0];
        var24 = var24 + 0x00000001;
        var40 = sceVshBridge_5C2983C2 (var37, var36);
        var41 = sp + 0x00000070;
        if (var40 == 0x00000001)
        {
          var43 = ((int *) var35)[16];
          var44 = ((int *) var34)[0];
          ((int *) sp)[28] = 0x00000010;
          ((int *) sp)[29] = var44;
          ((int *) sp)[30] = var43;
          var47 = sceVshBridge_2380DC08 ("umd0:", 0x01E18030, var41, 0x00000010, 0x00000000, 0x00000000);
          if (!(var47 != 0x00000001))
            break;
          var42 = (var24 < 0x0000000C);

        label16:
          var35 = var35 + 0x00000004;
          if (var42 != 0x00000000)
            continue;
          var21 = var21 + 0x00000001;
        }
        else
        {
          var42 = (var24 < 0x0000000C);
          goto label16;
        }
        goto label19;
      }
      var48 = ((int *) sp)[32];
      var49 = ((int *) var34)[8];
      var50 = ((int *) var48)[0];
      ((int *) var48)[0] = (var50 | var49);

    label18:
      var21 = var21 + 0x00000001;
    }
    else
    goto label18;

  label19:
    var22 = var22 + 0x00000004;
    if (((var21 < 0x00000007)) != 0x00000000)
      continue;
    break;
  }
  ra = ((int *) sp)[45];
  var25 = ((int *) sp)[44];
  var26 = ((int *) sp)[43];
  var27 = ((int *) sp)[42];
  var28 = ((int *) sp)[41];
  var29 = ((int *) sp)[40];
  var30 = ((int *) sp)[39];
  var31 = ((int *) sp)[38];
  var32 = ((int *) sp)[37];
  var33 = ((int *) sp)[36];
  sp = sp + 0x000000C0;
  return;
}

/**
 * Subroutine at address 0x00006470
 */
void sub_06470 ()
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s1;
  var1 = 0x00000000;
  ((int *) sp)[12] = s0;
  sub_19F24 (0x00000003, 0x00001748, 0x0001AAF4, 0x0001AC9C);
  sub_1A92C (0x00006294);
  vsh_2695A5B8 (0x00000001);
  var8 = sp;
  vsh_741C9BE1 (0x0000000A, var8, 0x0000000C);
  var11 = sp + 0x00000010;
  vsh_741C9BE1 (0x00000000, var11, 0x00000020);
  var14 = ((int *) sp)[0];
  var15 = sp;
  if (var14 != 0x00000000)
  {

  label14:
    var1 = 0x00000001;
  }
  else
  {
    var16 = ((int *) sp)[7];
    if (!(var16 == 0x00000000))
      goto label14;
  }
  ((int *) sp)[0] = 0x00000001;
  vsh_2B8B7775 (0x0000000A);
  var19 = *((int *) 0x00020E68);
  var20 = 0x00000002;
  if (!(var19 == 0x00000001))
  {
    var23 = sub_06274 ();
    var20 = 0x00000003;
    if (!(var23 == 0x00000001))
    {
      var20 = (0x00000000 < var1);
    }
  }
  sub_0166C (var20);
  ra = ((int *) sp)[14];
  var26 = ((int *) sp)[13];
  var27 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00006548
 */
void sub_06548 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1A07C ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00006564
 */
void sub_06564 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var1 = 0x00000000;
  ((int *) sp)[0] = s0;
  sub_05CC4 ();
  sub_06470 ();
  *((char *) 0x00020E5C) = 0x00000001;
  var6 = *((int *) 0x00020E4C);
  while (1) {
    scePaf_EA026663 (var6, 0x00000001);
    scePaf_26DE971C ();
    scePaf_613E9AA2 ();
    var13 = *((int *) 0x00020E4C);
    scePaf_F4AB3180 (var13, 0x00000001);
    var16 = *((int *) 0x00000000);
    if (!(var16 == var1))
    {
      var1 = var16;
      sub_02B18 (0x00000001);
    }
    sub_02B90 ();
    ThreadManForUser_349D6D6C ();
    var23 = *((int *) 0x00020E4C);
    scePaf_D7C2E0AD (var23, 0x00000001);
    var26 = *((unsigned char *) 0x00020E5C);
    var27 = *((int *) 0x00020E4C);
    if (var26 != 0x00000000)
      continue;
    break;
  }
  sub_06548 ();
  sub_05F34 ();
  sub_02CC4 ();
  sub_03814 ();
  sub_1AF84 ();
  sceVshCommonUtil_107EDCD9 ();
  sceVshCommonGui_68778E5A ();
  scePaf_FB3DB2FF ();
  ra = ((int *) sp)[5];
  var44 = ((int *) sp)[4];
  var45 = ((int *) sp)[3];
  var46 = ((int *) sp)[2];
  var47 = ((int *) sp)[1];
  var48 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000666C
 */
void sub_0666C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var3 = ThreadManForUser_446D8DE6 ("SCE_VSH_GRAPHICS", 0x00006564, 0x00000020, 0x00010000, 0x00000000, 0x00000000);
  var4 = 0x00000001;
  if (!(var3 <= 0))
  {
    var7 = ThreadManForUser_F475845D (var3, 0x00000000, 0x00000000);
    var4 = 0x00000000;
    if (var7 != 0x00000000)
    {
      ThreadManForUser_9FA03CD3 (var3);
      var4 = 0x00000001;
    }
  }
  ra = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000066EC
 */
void sub_066EC ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  sceVshBridge_C6395C03 (0x00020E6C, 0x00000001);
  var3 = *((int *) 0x00020E70);
  ra = ((int *) sp)[1];
  var4 = ((int *) sp)[0];
  *((int *) 0x00020E7C) = var3;
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00006728
 */
void sub_06728 (int arg1, int arg2)
{
  var1 = *((int *) 0x00020E7C);
  var2 = 0x00000000;
  if ((var1 & 0x00020000) == 0x00000000)
  {
    var3 = *((unsigned char *) 0x00020E74);
    var2 = 0x00000001;
    ((int *) arg1)[0] = (var3 + 0xFFFFFF80);
    var4 = *((unsigned char *) 0x00020E75);
    ((int *) arg2)[0] = (var4 + 0xFFFFFF80);
  }
  else
  {
    ((int *) arg1)[0] = 0x00000000;
    ((int *) arg2)[0] = 0x00000000;
  }
  return;
}

/**
 * Subroutine at address 0x00006778
 */
void sub_06778 ()
{
  *((char *) 0x00020E5C) = 0x00000000;
  return;
}

/**
 * Subroutine at address 0x000069A4
 */
void sub_069A4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = ((arg2 ^ 0x0000FFFF) < 0x00000001);
  ((int *) sp)[1] = s1;
  var2 = arg1;
  ((int *) sp)[2] = ra;
  if ((var1 & (((arg1 ^ 0x00000001) < 0x00000001))) != 0x00000000)
  {
    sub_1AD38 (0x00020E50, 0x00800000);
    var3 = (var2 < 0x00000001);
  }
  else
  {
    var3 = (var2 < 0x00000001);
  }
  if ((var1 & var3) != 0x00000000)
  {
    sub_1ADA8 (0x00020E50);
    ra = ((int *) sp)[2];
  }
  else
  {
    ra = ((int *) sp)[2];
  }
  var4 = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00006A24
 */
void sub_06A24 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_069A4 (0x00000001, 0x0000FFFF);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00006A44
 */
void sub_06A44 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_069A4 (0x00000000, 0x0000FFFF);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00006A64
 */
void sub_06A64 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  scePaf_F47CA1C2 (arg1, 0x00080004, 0x000077E0, 0x00000000);
  scePaf_F47CA1C2 (var1, 0x00010001, 0x00007ABC, 0x00000000);
  scePaf_F47CA1C2 (var1, 0x00080003, 0x0000789C, 0x00000000);
  ra = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00006AD4
 */
void sub_06AD4 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[4] = ra;
  var4 = scePaf_B7E6052B (0x00000394);
  var5 = var4;
  if (var1 == 0x00000000)
  {

  label10:
    var15 = 0x00000000;
  }
  else
  {
    var8 = scePaf_73712598 ();
    var9 = ((int *) var1)[0];
    var10 = ((int *) var9)[0];
    var13 var14 = (*var10) (var1, var8);
    var15 = var1;
    if (!(var13 != 0x00000000))
      goto label10;
  }
  var16 = *((int *) 0x00020E80);
  sub_0B9D4 (var5, var16, var15);
  *((int *) 0x00020E84) = var5;
  var19 = *((int *) 0x00020E84);
  sub_0C130 (var19);
  var22 = *((int *) 0x00020E84);
  __asm__ ("lwc1       $fpr12, -10880($a1);");
  var23 = ((int *) var22)[9];
  var24 = ((int *) var22)[41];
  ((int *) var22)[9] = (var23 | 0x00000001);
  scePaf_33096E46 (var24, 0x00000077, 0x00006B9C, var24);
  ra = ((int *) sp)[4];
  var27 = ((int *) sp)[3];
  var28 = ((int *) sp)[2];
  var29 = ((int *) sp)[1];
  var30 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00006B9C
 */
void sub_06B9C (int arg1)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[9] = s1;
  ((int *) sp)[10] = s2;
  ((int *) sp)[11] = ra;
  ((int *) sp)[8] = s0;
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[9];
  var3 = arg1;
  if (!((var2 & 0x00000001) == 0x00000000))
  {
    var4 = ((int *) var1)[202];
    if (var4 != 0x00000000)
    {
      var57 = sp;
      scePaf_2313DDCA (var57);
      var60 = *((int *) 0x00020E84);
      var61 = ((int *) sp)[1];
      var62 = ((int *) var60)[202];
      ((int *) sp)[1] = ((var61 & 0xFFFF0000) | 0x00000400);
      var63 = ((int *) var62)[22];
      var66 var67 = (*var63) (var62);
      var68 = sp;
      ((int *) sp)[3] = var66;
      ((int *) sp)[4] = 0x00000000;
      sub_09810 (var68);
      var71 = *((int *) 0x00020E84);
      var72 = ((int *) sp)[1];
      var73 = ((int *) var71)[202];
      ((int *) sp)[1] = ((var72 & 0xFFFF0000) | 0x00000401);
      var74 = ((int *) var73)[23];
      var77 var78 = (*var74) (var73);
      var79 = sp;
      ((int *) sp)[3] = var77;
      ((int *) sp)[4] = 0x00000000;
      sub_09810 (var79);
      ((int *) sp)[0] = 0x0001DEC0;
    }
    var5 = *((int *) 0x00020E84);
    var6 = ((int *) var5)[9];
    ((int *) var5)[9] = ((var6 | 0x00000100) & 0xFFFFFFFE);
  }
  var7 = *((int *) 0x00020E84);
  var8 = ((int *) var7)[9];
  if ((var8 & 0x00000002) != 0x00000000)
  {
    sub_12304 (var7, 0x00000000);
    var7 = *((int *) 0x00020E84);
    var56 = ((int *) var7)[9];
    ((int *) var7)[9] = ((var56 | 0x00000200) & 0xFFFFFFFD);
  }
  var9 = ((int *) var7)[9];
  if ((var9 & 0x00000004) == 0x00000000)
  {
    var11 = *((int *) 0x00020E84);
  }
  else
  {
    var10 = ((int *) var7)[0];
    if (var10 == 0x00000000)
    {
      sub_06E54 ();
      var52 = *((int *) 0x00020E84);
      var53 = ((int *) var52)[9];
      ((int *) var52)[9] = ((var53 | 0x00000400) & 0xFFFFFFFB);
    }
    var11 = *((int *) 0x00020E84);
  }
  var12 = ((int *) var11)[9];
  if ((var12 & 0x00000008) != 0x00000000)
  {
    var42 = ((int *) var11)[41];
    var43 = ((int *) var42)[0];
    var44 = ((int *) var43)[46];
    var47 var48 = (*var44) (var42, 0x00000000, 0x00000000, arg4, arg5, arg6, arg7, arg8);
    var11 = *((int *) 0x00020E84);
    var49 = ((int *) var11)[9];
    ((int *) var11)[9] = ((var49 | 0x00000800) & 0xFFFFFFF7);
  }
  var13 = ((int *) var11)[9];
  if ((var13 & 0x00000010) == 0x00000000)
  {
    var14 = ((int *) var11)[9];
  }
  else
  {
    ((int *) var11)[9] = (var13 & 0xFFFFFFEF);
    var14 = ((int *) var11)[9];
  }
  if ((var14 & 0x00000020) != 0x00000000)
  {
    var34 = sub_0FCC8 (var11);
    if (var34 != 0x00000000)
    {
      var38 = *((int *) 0x00020E84);
    }
    else
    {
      var35 = *((int *) 0x00020E84);
      var36 = *((int *) 0x00020E84);
      var37 = ((int *) var36)[9];
      if ((var37 & 0x00000040) != 0x00000000)
      {
        ((int *) var36)[9] = (var37 & 0xFFFFFFBF);
        sub_0717C ();
        var38 = *((int *) 0x00020E84);
      }
      else
      {
        var38 = *((int *) 0x00020E84);
      }
    }
    var39 = ((int *) var38)[9];
    ((int *) var38)[9] = (var39 & 0xFFFFFFDF);
  }
  var15 = *((int *) 0x00020E84);
  var16 = ((int *) var15)[9];
  if ((var16 & 0x00000F00) == 0x00000F00)
  {
    var22 = scePaf_EAA5AFF6 (var3, 0x00000077);
    var23 = *((int *) 0x00020E84);
    var24 = ((int *) var23)[9];
    ((char *) var23)[102] = 0x00000001;
    ((int *) var23)[9] = (var24 & 0xFFFFF0FF);
    __asm__ ("lwc1       $fpr12, -10876($v0);");
    ((int *) var23)[11] = 0x00000000;
    var25 = ((int *) var23)[41];
    scePaf_33096E46 (var3, 0x00000078, 0x00007480, var25);
    var28 = *((int *) 0x00020E84);
    var29 = ((int *) var28)[9];
    if ((var29 & 0x00000040) == 0x00000000)
    {
      ra = ((int *) sp)[11];
    }
    else
    {
      ((int *) var28)[9] = (var29 & 0xFFFFFFBF);
      sub_0717C ();
      ra = ((int *) sp)[11];
    }
  }
  else
  {
    ra = ((int *) sp)[11];
  }
  var17 = ((int *) sp)[10];
  var18 = ((int *) sp)[9];
  var19 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00006E54
 */
void sub_06E54 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = s1;
  ((int *) sp)[6] = s2;
  ((int *) sp)[7] = ra;
  ((int *) sp)[4] = s0;
  var1 = *((int *) 0x00020E84);
  var2 = ((unsigned char *) var1)[828];
  if (var2 != 0x00000000)
  {
    var68 = ((int *) var1)[208];
    ((char *) var1)[828] = 0x00000000;
    var69 = ((int *) var1)[209];
    var72 = sub_0CA5C (var1, var69, var68);
    var73 = var72;
    if (var73 == 0xFFFFFC0E)
    {
      var126 = *((int *) 0x00020E84);
      var127 = *((int *) 0x00020E84);
      var130 = sub_0C8E4 (var127, 0x0000000B);
      var131 = *((int *) 0x00020E84);
      var132 = ((int *) var131)[41];
    }
    else
    {
      var74 = *((int *) 0x00020E84);
      var75 = ((int *) var74)[41];
    }
    scePaf_28F8DE83 (var75, var68, var73);
    sub_0A71C (0x0000000C);
    var80 = *((int *) 0x00020E84);
    __asm__ ("lwc1       $fpr12, -10868($v1);");
    var81 = ((int *) var80)[41];
    __asm__ ("mtc1       $zr, $fpr14;");
    __asm__ ("lwc1       $fpr13, -10872($v0);");
    scePaf_CC103AD2 (var81);
    var84 = *((int *) 0x00020E84);
    var85 = ((int *) var84)[41];
    var86 = ((int *) var84)[9];
    var87 = ((int *) var85)[0];
    ((int *) var84)[9] = (var86 | 0x00000008);
    var88 = ((int *) var87)[46];
    var91 var92 = (*var88) (var85, 0x00000000, 0x00000000, var87);
    var93 = *((int *) 0x00020E84);
    var96 = sub_0C6A8 (var93);
    if (var96 != 0x00000000)
    {
      var114 = *((int *) 0x00020E84);
      var115 = ((int *) var114)[202];
      var116 = ((int *) var115)[22];
      var119 var120 = (*var116) ();
      if (var119 == 0x00000000)
      {
        var125 = *((int *) 0x00020E84);
      }
      else
      {
        var121 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr12, -10864($v1);");
        var122 = ((int *) var121)[41];
        scePaf_EF52945B (var122, 0x0000006F, 0x00009D4C, 0x00000000);
      }
    }
    else
    {
      var97 = *((int *) 0x00020E84);
    }
    var100 = sceUmdUser_46EBB729 ();
    if (var100 <= 0)
    {
      var113 = *((int *) 0x00020E84);
    }
    else
    {
      var101 = *((int *) 0x00020E84);
      ((char *) var101)[112] = 0x00000000;
    }
    var102 = sp;
    var105 = IoFileMgrForUser_54F5FB11 ("mscmhc0:", 0x02025806, 0x00000000, 0x00000000, var102, 0x00000004);
    var106 = var105;
    if (!(var105 < 0))
    {
      var107 = ((int *) sp)[0];
      var106 = ((var107 ^ 0x00000001) < 0x00000001);
    }
    if (var106 <= 0)
    {
      var112 = *((int *) 0x00020E84);
    }
    else
    {
      var108 = *((int *) 0x00020E84);
      ((char *) var108)[113] = 0x00000001;
    }
    var109 = *((int *) 0x00020E84);
    var110 = ((int *) var109)[209];
    if (var110 == 0x00000012)
    {
      var111 = 0x00000001;

    label47:
      ((int *) var109)[38] = var111;

    label89:
      ra = ((int *) sp)[7];
    }
    else
    {
      ra = ((int *) sp)[7];
      if (!(var110 != 0x00000013))
      {
        var111 = 0x00000002;
        goto label47;
      }
    }
  }
  else
  {
    var3 = ((int *) var1)[52];
    if ((var3 & 0x00000100) != 0x00000000)
    {
      var4 = var1;
      var27 = 0x00000008;

    label58:
      var30 = sub_0C8E4 (var4, var27);
      var31 = *((int *) 0x00020E84);
      var32 = ((int *) var31)[41];
      scePaf_28F8DE83 (var32, 0x00000004, var30);
      sub_0A71C (0x0000000C);
      var37 = *((int *) 0x00020E84);
      __asm__ ("lwc1       $fpr12, -10868($v1);");
      var38 = ((int *) var37)[41];
      __asm__ ("mtc1       $zr, $fpr14;");
      __asm__ ("lwc1       $fpr13, -10872($v0);");
      scePaf_CC103AD2 (var38);
      var41 = *((int *) 0x00020E84);
      var42 = ((int *) var41)[41];
      var43 = ((int *) var41)[9];
      var44 = ((int *) var42)[0];
      ((int *) var41)[9] = (var43 | 0x00000008);
      var45 = ((int *) var44)[46];
      var48 var49 = (*var45) (var42, 0x00000000, 0x00000000, var44);
      var50 = *((int *) 0x00020E84);
      var53 = sub_0C6A8 (var50);
      ra = ((int *) sp)[7];
      if (!(var53 == 0x00000000))
      {
        var54 = *((int *) 0x00020E84);
        var55 = ((int *) var54)[202];
        var56 = ((int *) var55)[22];
        var59 var60 = (*var56) ();
        if (var59 == 0x00000000)
        {
          ra = ((int *) sp)[7];
        }
        else
        {
          var61 = *((int *) 0x00020E84);
          __asm__ ("lwc1       $fpr12, -10864($v1);");
          var62 = ((int *) var61)[41];
          scePaf_EF52945B (var62, 0x0000006F, 0x00009D4C, 0x00000000);
          ra = ((int *) sp)[7];
        }
      }
    }
    else
    {
      if ((var3 & 0x00000400) != 0x00000000)
      {
        var67 = sub_0C8E4 (var1, 0x00000004);
        var8 = *((int *) 0x00020E84);

      label81:
        var9 = ((int *) var8)[41];
        scePaf_28F8DE83 (var9, 0x00000002, var7);
        var12 = *((int *) 0x00020E84);
        __asm__ ("mtc1       $zr, $fpr12;");
        var13 = ((int *) var12)[41];
        __asm__ ("mov.s      $fpr13, $fpr12;");
        scePaf_76491EEA (var13);
        var16 = *((int *) 0x00020E84);
        var17 = ((int *) var16)[9];
        ((int *) var16)[9] = (var17 | 0x00000040);
        var20 = sub_1228C (var16, 0x00000001);
        var21 = *((int *) 0x00020E84);
        sub_12388 (var21, 0x00000001);
        goto label89;
      }
      else
      {
        var4 = var1;
        if ((var3 & 0x00000200) == 0x00000000)
        {
          var27 = 0x0000000B;
          goto label58;
        }
        else
        {
          var7 = sub_0C8E4 (var4, 0x00000001);
          var8 = *((int *) 0x00020E84);
          goto label81;
        }
      }
    }
  }
  var24 = ((int *) sp)[6];
  var25 = ((int *) sp)[5];
  var26 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000717C
 */
void sub_0717C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  var4 = sub_1228C (var1, 0x00000000);
  var5 = *((int *) 0x00020E84);
  sub_12388 (var5, 0x00000000);
  var8 = *((int *) 0x00020E84);
  var9 = ((int *) var8)[41];
  var10 = ((int *) var9)[0];
  var11 = ((int *) var10)[46];
  var14 var15 = (*var11) (var9, 0x00000000, 0x00000000, var8);
  var16 = *((int *) 0x00020E84);
  var17 = ((int *) var16)[202];
  var18 = ((int *) var17)[24];
  var21 var22 = (*var18) ();
  var23 = ((int *) var16)[10];
  if (var23 == var21)
  {
    var32 = *((int *) 0x00020E84);
    var33 = *((int *) 0x00020E84);
    var34 = ((int *) var33)[52];
    if ((var34 & 0x00000400) != 0x00000000)
    {
      var50 = sub_0CA5C (var33, 0x0000000E, 0x00000003);
      var39 = 0x00000008;
      var38 = 0x00000000;
      if (var50 >= 0)
      {

      label24:
        sub_07CF0 (var39, var38);
        var42 = *((int *) 0x00020E84);
        var43 = ((unsigned char *) var42)[101];
        if (var43 != 0x00000000)
        {
          ra = ((int *) sp)[2];
        }
        else
        {
          var44 = *((int *) 0x00020E80);
          scePaf_CAF05F1D (var44, "page_content_info_fg");
          ra = ((int *) sp)[2];
        }
      }
      else
      {
        ra = ((int *) sp)[2];
      }
    }
    else
    {
      if ((var34 & 0x00000200) == 0x00000000)
      {
        var47 = ((int *) var33)[41];

      label32:
        __asm__ ("mtc1       $zr, $fpr14;"
                 "lwc1       $fpr12, -10856($v0);");
        __asm__ ("lwc1       $fpr13, -10860($v1);");
        scePaf_CC103AD2 (var25);
        sub_0A71C (0x0000000C);

      label36:
        ra = ((int *) sp)[2];
      }
      else
      {
        var37 = sub_0CA5C (var33, 0x0000000B, 0x00000002);
        var38 = 0x00000003;
        if (var37 < 0)
          goto label36;
        var39 = 0x00000006;
        goto label24;
      }
    }
  }
  else
  {
    var24 = *((int *) 0x00020E84);
    var25 = ((int *) var24)[41];
    goto label32;
  }
  var30 = ((int *) sp)[1];
  var31 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000072A4
 */
void sub_072A4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[13] = s1;
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[12] = s0;
  ((char *) var1)[101] = 0x00000001;
  ((int *) sp)[14] = ra;
  ((int *) sp)[0] = 0x00000000;
  ((int *) sp)[1] = 0x00000000;
  if (arg1 != 0x00000000)
  {
    if (arg1 == 0x00000001)
    {
      if (((arg2 < 0x00000006)) == 0x00000000)
      {
      case 0:
      case 1:
      case 5:

      label47:
        var2 = *((int *) 0x00020E84);

      label48:
        sub_0FDE0 (0x00000000, var2);
      }
      else
      {
        var47 = ((int *) ((arg2 << 0x00000002) + 0x0001D748))[0];
        switch () {
        goto label47;
        goto label47;
        case 2:
          var48 = *((int *) 0x00020E80);

        label30:
          var13 = scePaf_BB3CBD19 (var10, "msgshare_error_invalid_disc", 0xFFFFFFFF);
          var14 = sp;
          sub_0B3E4 (var14, var13);
          var17 = *((int *) 0x00020E84);

        label35:
          var18 = ((int *) var17)[41];
          var19 = ((int *) var18)[116];
          var20 = sp;
          var23 = sceVshCommonGui_1A6F3382 (var19, var20, 0x00000002, 0x0000FDE0, 0x00000007, 0x00000000, var17);
          var24 = *((int *) 0x00020E84);
          ((int *) var17)[204] = var23;
          var25 = ((int *) var24)[40];
          var26 = sp + 0x00000020;
          var29 = scePaf_BB3CBD19 (var25, "msgsystem_back", 0xFFFFFFFF);
          sceVshCommonGui_54BC644C (var26, var29);
          sub_0B3B4 (var26);
          sceVshCommonGui_441D55D7 (0x00000001);
          goto label50;
        case 3:
          var49 = *((int *) 0x00020E80);
          goto label30;
        case 4:
          var50 = *((int *) 0x00020E80);
          goto label30;
        goto label47;
        }
      }
    }
    else
    {
      if (arg1 != 0x00000002)
      {
        var17 = *((int *) 0x00020E84);
      }
      else
      {
        var37 = *((int *) 0x00020E80);
        var40 = scePaf_BB3CBD19 (var37, "msgshare_error_game_start", 0xFFFFFFFF);
        var41 = sp;
        sub_0B3E4 (var41, var40);
        var44 = sp;
        sceVshCommonUtil_7EEFA381 (var44, arg2);
        var17 = *((int *) 0x00020E84);
      }
      goto label35;
    }
  }
  else
  {
    if (arg2 == 0x00000004)
    {

    label29:
      var10 = *((int *) 0x00020E80);
      goto label30;
    }
    else
    {
      if (((arg2 < 0x00000005)) == 0x00000000)
      {
        if (arg2 != 0x00000008)
        {
          var2 = *((int *) 0x00020E84);
          goto label48;
        }
        else
        {
          var36 = *((int *) 0x00020E80);
          goto label30;
        }
      }
      else
      {
        if (arg2 == 0x00000002)
        {
          goto label29;
        }
        else
        {
          goto label47;
        }
      }
    }
  }

label50:
  var5 = sp;
  sub_0B3B4 (var5);
  ra = ((int *) sp)[14];
  var8 = ((int *) sp)[13];
  var9 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00007480
 */
void sub_07480 ()
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[2] = s2;
  ((int *) sp)[4] = ra;
  ((int *) sp)[3] = s3;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  __asm__ ("swc1       $fpr20, 32($sp);"
    : 
    : "=r"(sp));
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[11];
  if ((var2 & 0x00000010) != 0x00000000)
  {
    sub_0A71C (0x0000000C);
    var101 = *((int *) 0x00020E84);
    __asm__ ("lwc1       $fpr20, -10852($v1);");
    var102 = ((int *) var101)[41];
    __asm__ ("lwc1       $fpr12, -10848($v0);"
             "mtc1       $zr, $fpr14;");
    __asm__ ("mov.s      $fpr13, $fpr20;");
    scePaf_CC103AD2 (var102);
    var105 = *((int *) 0x00020E84);
    var106 = ((int *) var105)[42];
    if (var106 != 0x00000000)
    {
      __asm__ ("mtc1       $zr, $fpr13;");
      __asm__ ("mov.s      $fpr12, $fpr20;");
      sceVshCommonGui_F4FD56D2 ();
    }
    var109 = sceVshCommonGui_F7A03543 ();
    if (var109 == 0x00000000)
    {
      var115 = *((int *) 0x00020E84);
      __asm__ ("lwc1       $fpr12, -10844($v1);");
      var116 = ((int *) var115)[41];
      var117 = ((int *) var116)[206];
      var118 = ((int *) var116)[216];
      var119 = ((int *) (var118 + (var117 << 0x00000002)))[0];
      scePaf_B77039E4 (var119);
      var113 = *((int *) 0x00020E84);
    }
    else
    {
      var110 = *((int *) 0x00020E84);
      sceVshCommonGui_C5B53362 ();
      var113 = *((int *) 0x00020E84);
    }
    var114 = ((int *) var113)[11];
    ((int *) var113)[11] = (var114 & 0xFFFFFFEF);
  }
  var3 = *((int *) 0x00020E84);
  var4 = ((int *) var3)[11];
  if ((var4 & 0x00000001) != 0x00000000)
  {
    sub_0FC8C (var3);
    var94 = *((int *) 0x00020E84);
    var97 = sub_1228C (var94, 0x00000000);
    var3 = *((int *) 0x00020E84);
    var98 = ((int *) var3)[11];
    ((int *) var3)[11] = (var98 & 0xFFFFFFFE);
  }
  var5 = ((int *) var3)[11];
  if ((var5 & 0x00000100) != 0x00000000)
  {
    sub_0FC8C (var3);
    var3 = *((int *) 0x00020E84);
    var91 = ((int *) var3)[11];
    ((int *) var3)[11] = (var91 & 0xFFFFFEFF);
  }
  var6 = ((int *) var3)[11];
  if ((var6 & 0x00000002) != 0x00000000)
  {
    sub_0FD84 (var3);
    var84 = *((int *) 0x00020E84);
    var87 = sub_1228C (var84, 0x00000000);
    var3 = *((int *) 0x00020E84);
    var88 = ((int *) var3)[11];
    ((int *) var3)[11] = (var88 & 0xFFFFFFFD);
  }
  var7 = ((int *) var3)[11];
  if ((var7 & 0x00000004) != 0x00000000)
  {
    sub_0A71C (0x0000000E);
    var63 = *((int *) 0x00020E84);
    var64 = ((int *) var63)[42];
    if (var64 != 0x00000000)
    {
      __asm__ ("mtc1       $zr, $fpr13;");
      __asm__ ("lwc1       $fpr12, -10852($v0);");
      sceVshCommonGui_16DA723A ();
    }
    var67 = sceVshCommonGui_F7A03543 ();
    if (var67 == 0x00000000)
    {
      var73 = *((int *) 0x00020E84);
      __asm__ ("lwc1       $fpr12, -10836($v1);");
      var74 = ((int *) var73)[41];
      var75 = ((int *) var74)[206];
      var76 = ((int *) var74)[216];
      var77 = ((int *) (var76 + (var75 << 0x00000002)))[0];
      scePaf_9430557B (var77);
      var71 = *((int *) 0x00020E84);
    }
    else
    {
      var68 = *((int *) 0x00020E84);
      __asm__ ("lwc1       $fpr12, -10840($v0);");
      sceVshCommonGui_891E0954 ();
      var71 = *((int *) 0x00020E84);
    }
    var72 = ((int *) var71)[11];
    ((int *) var71)[11] = (var72 & 0xFFFFFFFB);
  }
  var8 = *((int *) 0x00020E84);
  var9 = ((int *) var8)[11];
  if ((var9 & 0x00000020) == 0x00000000)
  {
    var29 = ((int *) var8)[11];
  }
  else
  {
    var10 = *((int *) 0x00020E80);
    var11 = ((int *) var10)[115];
    if (var11 == 0x00000000)
    {
      var54 = ((int *) var8)[41];
      var55 = ((int *) var54)[0];
      var56 = ((int *) var55)[46];
      var59 var60 = (*var56) (var54, 0x00000000, 0x00000000, arg4, arg5, arg6, arg7, arg8);
      var27 = *((int *) 0x00020E84);
    }
    else
    {
      var14 = scePaf_7F7791A1 (var10, "page_content_info_fg");
      if (var11 == var14)
      {
        var50 = *((int *) 0x00020E80);
        var53 = scePaf_7F7791A1 (var50, "page_topmenu");
        var11 = var53;
      }
      var15 = *((int *) 0x00020E80);
      scePaf_5EBC648F (var15, var11);
      var18 = *((int *) 0x00020E80);
      var21 = scePaf_7F7791A1 (var18, "page_topmenu");
      if (var11 == var21)
      {
        var42 = *((int *) 0x00020E84);
        var43 = ((int *) var42)[41];
        var44 = ((int *) var43)[0];
        var45 = ((int *) var44)[46];
        var48 var49 = (*var45) (var43, 0x00000000, 0x00000000, var42);
      }
      else
      {
      }
      var24 = sceVshCommonGui_F7A03543 ();
      if (var24 == 0x00000000)
      {
        sub_0A71C (0x00000000);
        var27 = *((int *) 0x00020E84);
      }
      else
      {
        sceVshCommonGui_C5B53362 ();
        var27 = *((int *) 0x00020E84);
      }
    }
    var28 = ((int *) var27)[11];
    ((int *) var27)[11] = (var28 & 0xFFFFFFDF);
    var8 = *((int *) 0x00020E84);
    var29 = ((int *) var8)[11];
  }
  if ((var29 & 0x00000200) != 0x00000000)
  {
    var34 = ((int *) var8)[41];
    var37 = scePaf_EAA5AFF6 (var34, 0x0000006F);
    sub_0A098 (0x00000000);
    ra = ((int *) sp)[4];
  }
  else
  {
    ra = ((int *) sp)[4];
  }
  var30 = ((int *) sp)[3];
  var31 = ((int *) sp)[2];
  var32 = ((int *) sp)[1];
  var33 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x000077E0
 */
void sub_077E0 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s0;
  var1 = ((unsigned short *) arg2)[2];
  if (var1 == 0x00000402)
  {

  label21:
    ra = ((int *) sp)[5];
  }
  else
  {
    if (((var1 < 0x00000403)) == 0x00000000)
    {
      ra = ((int *) sp)[5];
      if (!(var1 != 0x00000403))
      {
        var5 = *((int *) 0x00020E84);
        ((char *) var5)[157] = 0x00000000;
        var8 = sceUmdUser_46EBB729 ();
        if (var8 <= 0)
        {
          var18 = *((int *) 0x00020E84);
        }
        else
        {
          var9 = *((int *) 0x00020E84);
          ((char *) var9)[112] = 0x00000000;
        }
        var10 = sp;
        var13 = IoFileMgrForUser_54F5FB11 ("mscmhc0:", 0x02025806, 0x00000000, 0x00000000, var10, 0x00000004);
        var14 = var13;
        if (!(var13 < 0))
        {
          var15 = ((int *) sp)[0];
          var14 = ((var15 ^ 0x00000001) < 0x00000001);
        }
        if (var14 <= 0)
        {
          var17 = *((int *) 0x00020E84);
        }
        else
        {
          var16 = *((int *) 0x00020E84);
          ((char *) var16)[113] = 0x00000001;
        }
        goto label21;
      }
    }
    else
    {
      ra = ((int *) sp)[5];
      if (!(((var1 < 0x00000400)) != 0x00000000))
      {
        sub_09810 (arg2);
        goto label21;
      }
    }
  }
  var4 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000789C
 */
void sub_0789C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E84);
  var2 = ((unsigned char *) var1)[102];
  var3 = *((int *) 0x00020E84);
  if (!(var2 == 0x00000000))
  {
    var4 = ((unsigned char *) var1)[100];
    if (var4 == 0x00000000)
    {
      var60 = ((int *) var1)[41];
      __asm__ ("lwc1       $fpr12, -10832($v0);");
      scePaf_33096E46 (var60, 0x00000078, 0x00007480, var60);
      var3 = *((int *) 0x00020E84);
    }
  }
  var5 = ((unsigned char *) var3)[101];
  ((char *) var3)[100] = 0x00000001;
  if (var5 == 0x00000000)
  {
    var53 = ((int *) var3)[41];
    var54 = ((int *) var53)[0];
    var55 = ((int *) var54)[46];
    var58 var59 = (*var55) (var53, 0x00000000, 0x00000000, arg4, arg5, arg6, arg7, arg8);
    var6 = *((int *) 0x00020E84);
  }
  else
  {
    var6 = *((int *) 0x00020E84);
  }
  sub_0FEB8 (var6, 0x00000008);
  var9 = *((int *) 0x00020E84);
  var10 = ((unsigned char *) var9)[102];
  if (!(var10 == 0x00000000))
  {
    var11 = ((unsigned char *) var9)[101];
    if (var11 == 0x00000000)
    {
      sub_0A71C (0x0000000C);
      sub_0A71C (0x00000000);
    }
  }
  var12 = *((int *) 0x00020E84);
  var15 = sub_0C6A8 (var12);
  if (var15 != 0x00000000)
  {
    var29 = *((int *) 0x00020E84);
    var30 = ((int *) var29)[202];
    var31 = ((int *) var30)[22];
    var34 var35 = (*var31) ();
    var17 = *((int *) 0x00020E84);
    if (var34 == 0x00000000)
    {

    label42:

    label43:
      var18 = ((unsigned char *) var17)[200];
    }
    else
    {
      var36 = *((int *) 0x00020E84);
      var37 = ((unsigned char *) var36)[102];
      if (var37 == 0x00000000)
        goto label43;
      var38 = ((unsigned char *) var36)[101];
      if (var38 != 0x00000000)
      {
        var18 = ((unsigned char *) var17)[200];
      }
      else
      {
        var39 = ((int *) var36)[42];
        var40 = ((int *) var39)[6];
        var41 = 0x00000000;
        if (var40 != 0x00000000)
        {
          var48 = scePaf_5A8D4BDB (var40, 0x00000000);
          var41 = var48;
        }
        if ((var41 & 0x000000FF) != 0x00000000)
        {
          var17 = *((int *) 0x00020E84);
        }
        else
        {
          var42 = *((int *) 0x00020E84);
          __asm__ ("lwc1       $fpr12, -10828($v1);");
          var43 = ((int *) var42)[41];
          scePaf_EF52945B (var43, 0x0000006F, 0x00009D4C, 0x00000000);
          var17 = *((int *) 0x00020E84);
        }
        goto label42;
      }
    }
  }
  else
  {
    var16 = *((int *) 0x00020E84);
    var17 = *((int *) 0x00020E84);
    goto label42;
  }
  if (var18 == 0x00000001)
  {
    sub_0DE90 (var17);
    var17 = *((int *) 0x00020E84);
  }
  var19 = ((unsigned char *) var17)[172];
  if (var19 == 0x00000001)
  {
    sub_0EB60 (var17);
    var17 = *((int *) 0x00020E84);
  }
  var20 = ((int *) var17)[22];
  if (((((var20 ^ 0x0000000D) < 0x00000001)) | (((var20 ^ 0x00000003) < 0x00000001))) != 0x00000000)
  {

  label54:
    sub_0A1AC (0x00000002);
    ra = ((int *) sp)[2];
  }
  else
  {
    if (var20 == 0x00000004)
      goto label54;
    ra = ((int *) sp)[2];
  }
  var21 = ((int *) sp)[1];
  var22 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00007A90
 */
void sub_07A90 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg2)[4];
  var2 = *((int *) 0x00020E84);
  var3 = ((int *) arg2)[3];
  sub_0EFBC (var2, var3, var1, 0x00000000);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00007ABC
 */
void sub_07ABC (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var1 = ((int *) arg2)[2];
  if (((var1 >> 0x00000008) & 0x00000080) != 0x00000000)
  {
    ra = ((int *) sp)[2];
  }
  else
  {
    var2 = var1 & 0x000000FF;
    if (((var2 < 0x00000007)) == 0x00000000)
    {
      if (var2 == 0x00000007)
      {

      label9:
        var10 = *((int *) 0x00020E84);
        var11 = ((int *) var10)[27];
        ra = ((int *) sp)[2];
        if (!(var11 > 0))
        {
          var14 = sub_0CB1C (var10);
          var15 = var14;
          if (var14 == 0x00000000)
          {

          label37:
            ra = ((int *) sp)[2];
          }
          else
          {
            var16 = ((int *) var14)[5];
            ra = ((int *) sp)[2];
            if (!(var16 < 0))
            {
              var17 = ((unsigned char *) var15)[24];
              if (var17 == 0x00000000)
              {
              }
              else
              {
                var18 = ((int *) var15)[0];
                if (var18 == 0x0000000A)
                {
                  var30 = *((int *) 0x00020E84);
                  var31 = ((int *) var30)[40];
                  scePaf_49CE42F7 (var31, "snd_category_decide");
                }
                else
                {
                  var19 = *((int *) 0x00020E84);
                }
              }
              var20 = *((int *) 0x00020E84);
              var23 = sub_0CBF4 (var20);
              var24 = *((int *) 0x00020E84);
              var27 = sub_0CD64 (var24);
              sub_07CF0 (var23, var27);
              ra = ((int *) sp)[2];
            }
          }
        }
      }
      else
      {
        ra = ((int *) sp)[2];
        if (!(var2 != 0x00000050))
          goto label9;
      }
    }
    else
    {
      if (((var2 < 0x00000005)) == 0x00000000)
      {
        var5 = *((int *) 0x00020E84);
        var6 = ((int *) var5)[27];
        if (var6 > 0)
        {
          ra = ((int *) sp)[2];
        }
        else
        {
          var7 = ((int *) var5)[23];
          sub_07BC8 (var7);
          ra = ((int *) sp)[2];
        }
      }
      else
      {
        goto label37;
      }
    }
  }
  var3 = ((int *) sp)[1];
  var4 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00007BC8
 */
void sub_07BC8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  if (!(((arg1 < 0x0000000A)) == 0x00000000))
  {
    var1 = ((int *) ((arg1 << 0x00000002) + 0x0001D784))[0];
    switch () {
    goto label13;
    goto label13;
    goto label13;
    goto label13;
    goto label13;
    case 5:
      var4 = 0x00000002;

    label11:
      sub_07CF0 (arg1, var4);
      goto label13;
    case 6:
      var7 = *((int *) 0x00020E84);
      var10 = sub_10FC4 (var7, 0x00000006);
      var4 = 0x00000004;
      if (var10 != 0x00000002)
        goto label11;
      var11 = *((int *) 0x00020E84);
      ((int *) var11)[23] = 0x00000001;
      goto label13;
    case 7:
    case 8:
      var4 = 0x00000005;
      goto label11;
    case 9:
      var4 = 0x00000001;
      goto label11;
    }
  }
case 0:
case 1:
case 2:
case 3:
case 4:

label13:
  ra = ((int *) sp)[2];
  var2 = ((int *) sp)[1];
  var3 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00007C5C
 */
void sub_07C5C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[27];
  if (var2 <= 0)
  {
    var5 = ((int *) arg2)[4];
    ra = ((int *) sp)[2];
    if (var5 < 0)
    {

    label18:
      var3 = ((int *) sp)[1];
    }
    else
    {
      var6 = ((int *) var1)[41];
      var3 = ((int *) sp)[1];
      if (!(var6 == 0x00000000))
      {
        var9 = sub_0CB1C (var1);
        var10 = var9;
        if (var9 == 0x00000000)
        {

        label13:
          var12 = ((int *) var10)[2];
        }
        else
        {
          var11 = ((unsigned char *) var9)[24];
          if (!(var11 != 0x00000000))
            goto label13;
          var16 = *((int *) 0x00020E84);
          var17 = ((int *) var16)[40];
          scePaf_49CE42F7 (var17, "snd_category_decide");
          var12 = ((int *) var10)[2];
        }
        var13 = ((int *) var10)[1];
        sub_07CF0 (var13, var12);
        ra = ((int *) sp)[2];
        goto label18;
      }
    }
  }
  else
  {
    ra = ((int *) sp)[2];
    goto label18;
  }
  var4 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00007CF0
 */
void sub_07CF0 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg2;
  ((int *) sp)[0] = s0;
  var2 = arg1;
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  if (arg1 == 0x00000008)
  {
    if ((((arg2 < 0x00000002)) | (((arg2 ^ 0x00000003) < 0x00000001))) != 0x00000000)
    {

    label13:
      var4 = *((int *) 0x00020E84);

    label14:
      var7 = sub_0F8FC (var4, var2, var1);
      ra = ((int *) sp)[3];
      if (!(var7 != 0x00000000))
      {

      label17:
        var8 = *((int *) 0x00020E84);
        ((int *) var8)[227] = var2;
        ((int *) var8)[228] = var1;
        if (var2 == 0x00000001)
        {
          sub_08224 (0x00000001, var1);
          ra = ((int *) sp)[3];
        }
        else
        {
          if (var2 == 0x0000000E)
          {
          }
          else
          {
            ((int *) var8)[57] = 0x0000000B;
          }
          if ((((var2 + 0xFFFFFFFA) < 0x00000002)) != 0x00000000)
          {
          }
          else
          {
            ((int *) var8)[63] = 0x0000000B;
          }
          if (var2 == 0x00000008)
          {
          }
          else
          {
            ((int *) var8)[70] = 0x0000000B;
          }
          var9 = *((int *) 0x00020E84);
          var12 = sub_1228C (var9, 0x00000001);
          var13 = *((int *) 0x00020E84);
          sub_12388 (var13, 0x00000001);
          var16 = *((int *) 0x00020E84);
          var17 = ((int *) var16)[11];
          ((int *) var16)[11] = (var17 | 0x00000200);
          sub_07E44 (var2);
          ra = ((int *) sp)[3];
        }
      }
    }
    else
    {
      if (arg2 != 0x00000004)
      {

      label8:
        var3 = var2 ^ 0x0000000E;
        if (var2 == 0x00000006)
        {
          if ((((var1 + 0xFFFFFFFE) < 0x00000002)) != 0x00000000)
            goto label13;
          var3 = var2 ^ 0x0000000E;

        label11:
          if ((((var3 < 0x00000001)) & (((var1 ^ 0x00000001) < 0x00000001))) == 0x00000000)
            goto label17;
          goto label13;
        }
        else
        goto label11;
      }
      else
      {
        var4 = *((int *) 0x00020E84);
        goto label14;
      }
    }
  }
  else
  {
    goto label8;
  }
  var20 = ((int *) sp)[2];
  var21 = ((int *) sp)[1];
  var22 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00007E44
 */
void sub_07E44 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = sub_09734 (arg1);
  if (var3 == 0x00000000)
  {
    var6 = *((int *) 0x00020E84);
    var7 = ((int *) var6)[228];
    var8 = ((int *) var6)[227];
    sub_07EC4 (var8, var7);
    ra = ((int *) sp)[0];
  }
  else
  {
    scePaf_1A45C860 (var3, 0x00007E94);
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00007E94
 */
void sub_07E94 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = *((int *) 0x00020E84);
  ((int *) var1)[22] = 0x00000001;
  var2 = ((int *) var1)[228];
  var3 = ((int *) var1)[227];
  sub_07EC4 (var3, var2);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00007EC4
 */
void sub_07EC4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[2] = s2;
  var1 = arg2;
  ((int *) sp)[1] = s1;
  var2 = arg1;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[0] = s0;
  if (arg1 == 0x00000001)
  {

  label64:
    ra = ((int *) sp)[5];
  }
  else
  {
    if (arg1 == 0x00000006)
    {
      if ((((arg2 + 0xFFFFFFFE) < 0x00000002)) != 0x00000000)
      {

      label25:
        var6 = *((int *) 0x00020E84);

      label26:
        var7 = ((int *) var6)[202];
        var8 = ((int *) var7)[24];
        var11 var12 = (*var8) (var3, var5, arg3, arg4, arg5, arg6, arg7, arg8);
        var13 = ((int *) var6)[51];

      label29:
        if (var13 == var11)
        {
          var22 = *((int *) 0x00020E84);

        label31:
          ((char *) var22)[100] = 0x00000000;
          sub_0A098 (0x00000000);
          var25 = *((int *) 0x00020E84);
          var26 = ((int *) var25)[41];
          var29 = scePaf_EAA5AFF6 (var26, 0x0000006F);
          var30 = *((int *) 0x00020E84);
          var33 = sub_10DD4 (var30);
          if (var33 != 0x00000000)
          {
            var63 = *((int *) 0x00020E84);
            sub_10C90 (var63);
            var34 = *((int *) 0x00020E84);
          }
          else
          {
            var34 = *((int *) 0x00020E84);
          }
          var35 = ((int *) var34)[41];
          var36 = ((int *) var35)[206];
          var39 = scePaf_81667058 (var35, 0xFFFFFFFF);
          var40 = *((int *) 0x00020E84);
          var41 = ((int *) var40)[41];
          __asm__ ("mtc1       $zr, $fpr13;"
                   "lwc1       $fpr12, -10824($v0);");
          scePaf_62081F34 (var41, var36, var39);
          var44 = *((int *) 0x00020E84);
          sub_10F30 (var44);
          var49 = sceVshCommonGui_F7A03543 ();
          var50 = *((int *) 0x00020E84);
          if (!(var49 == 0x00000000))
          {
            if ((((0x00000000 < (var2 ^ 0x00000001))) & ((0x00000000 < (var1 ^ 0x00000005)))) != 0x00000000)
            {
              var59 = *((int *) 0x00020E84);
              var60 = *((int *) 0x00020E80);
              ((char *) var59)[103] = 0x00000000;
              sceVshCommonGui_607D5C82 (var60, "page_optionmenu", "page_topmenu");
              var50 = *((int *) 0x00020E84);
            }
            else
            {
              var51 = *((int *) 0x00020E84);
            }
          }
          ((char *) var50)[100] = 0x00000000;
          var54 = sub_1228C (var50, 0x00000001);
          var55 = *((int *) 0x00020E84);
          __asm__ ("lwc1       $fpr12, -10820($v0);");
          var56 = ((int *) var55)[41];
          scePaf_33096E46 (var56, 0x00000074, 0x00008100, 0x00000000);
          ra = ((int *) sp)[5];
        }
        else
        {
          var14 = *((int *) 0x00020E84);
          sub_09248 ();
          goto label64;
        }
      }
      else
      {

      label8:
        var3 = (var1 < 0x00000002);
        if (var2 == 0x00000008)
        {
          if ((var3 | (((var1 ^ 0x00000003) < 0x00000001))) != 0x00000000)
            goto label25;
          if (var1 != 0x00000004)
          {
            var4 = var2 ^ 0x0000000E;

          label14:
            var5 = (var4 < 0x00000001);
            if ((var5 & var3) == 0x00000000)
            {
              if (var2 == 0x00000005)
              {

              label20:
                var66 = *((int *) 0x00020E84);

              label21:
                var67 = ((int *) var66)[202];
                var68 = ((int *) var67)[25];
                var11 var71 = (*var68) (var3, var5, arg3, arg4, arg5, arg6, arg7, arg8);
                var13 = ((int *) var66)[44];
                goto label29;
              }
              else
              {
                var66 = *((int *) 0x00020E84);
                if (((((var2 ^ 0x00000006) < 0x00000001)) & var3) != 0x00000000)
                  goto label21;
                if ((var5 & (((var1 ^ 0x00000002) < 0x00000001))) == 0x00000000)
                {
                  var22 = *((int *) 0x00020E84);
                  goto label31;
                }
                else
                {
                  goto label20;
                }
              }
            }
            else
            {
              goto label25;
            }
          }
          else
          {
            var6 = *((int *) 0x00020E84);
            goto label26;
          }
        }
        else
        {
          var4 = var2 ^ 0x0000000E;
          goto label14;
        }
      }
    }
    else
    {
      goto label8;
    }
  }
  var17 = ((int *) sp)[4];
  var18 = ((int *) sp)[3];
  var19 = ((int *) sp)[2];
  var20 = ((int *) sp)[1];
  var21 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00008100
 */
void sub_08100 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[0];
  if (var2 != 0x00000000)
  {

  label15:
    var4 = *((int *) 0x00020E88);
    *((int *) 0x00020E88) = (var4 + 0x00000001);
    ra = ((int *) sp)[2];
  }
  else
  {
    var3 = *((int *) 0x00020E88);
    if (!(((var3 < 0x00000009)) == 0x00000000))
      goto label15;
    *((int *) 0x00020E88) = 0x00000000;
    var9 = scePaf_EAA5AFF6 (arg1, 0x00000074);
    var10 = *((int *) 0x00020E84);
    var13 = sub_1228C (var10, 0x00000000);
    var14 = *((int *) 0x00020E84);
    sub_10BE8 (var14);
    var17 = *((int *) 0x00020E84);
    var20 = sub_1228C (var17, 0x00000001);
    __asm__ ("lwc1       $fpr12, -10816($v0);");
    scePaf_33096E46 (arg1, 0x00000075, 0x000081A8, 0x00000000);
    ra = ((int *) sp)[2];
  }
  var5 = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000081A8
 */
void sub_081A8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var3 = scePaf_6DD28F44 ();
  if (var3 == 0x00000000)
  {

  label7:
    *((int *) 0x00020E8C) = 0x00000000;
    var7 = scePaf_EAA5AFF6 (arg1, 0x00000075);
    var8 = *((int *) 0x00020E84);
    var11 = sub_1228C (var8, 0x00000000);
    var12 = *((int *) 0x00020E84);
    var13 = ((int *) var12)[228];
    var14 = ((int *) var12)[227];
    sub_08224 (var14, var13);
  }
  else
  {
    var4 = *((int *) 0x00020E8C);
    if (!(((var4 < 0x00000005)) != 0x00000000))
      goto label7;
    *((int *) 0x00020E8C) = (var4 + 0x00000001);
  }
  ra = ((int *) sp)[2];
  var17 = ((int *) sp)[1];
  var18 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00008224
 */
void sub_08224 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFF10;
  ((int *) sp)[56] = fp;
  var1 = arg2;
  ((int *) sp)[55] = s7;
  var2 = arg1;
  ((int *) sp)[57] = ra;
  ((int *) sp)[54] = s6;
  ((int *) sp)[53] = s5;
  ((int *) sp)[52] = s4;
  ((int *) sp)[51] = s3;
  ((int *) sp)[50] = s2;
  ((int *) sp)[49] = s1;
  ((int *) sp)[48] = s0;
  if (arg1 == 0x00000006)
  {
    if ((((arg2 + 0xFFFFFFFE) < 0x00000002)) != 0x00000000)
    {

    label25:
      var6 = *((int *) 0x00020E84);
      var7 = ((int *) var6)[202];
      var8 = ((int *) var7)[24];
      var11 var12 = (*var8) (var3, var5, arg3, arg4, arg5, arg6, arg7, arg8);
      var13 = ((int *) var6)[51];

    label28:
      if (var13 == var11)
      {
        var25 = (var2 < 0x0000000F);

      label30:
        if (var25 == 0x00000000)
        {
        case 0:
        case 13:

        label383:
          sub_09248 ();

        label385:
          ra = ((int *) sp)[57];
        }
        else
        {
          var26 = ((int *) ((var2 << 0x00000002) + 0x0001DBCC))[0];
          switch () {
          goto label383;
          case 1:
            var29 = scePaf_D4FAE7D0 ("topmenu_plugin");
            if (!(var29 == 0x00000000))
            {
              var32 = scePaf_338C3774 (var29, 0x00000001);
              if (!(var32 == 0x00000000))
              {
                var33 = ((int *) var32)[0];
                var36 var37 = (*var33) (var1);
                var38 = *((int *) 0x00020E84);
                var39 = ((int *) var38)[41];
                var42 = scePaf_EAA5AFF6 (var39, 0x00000078);
              }
              var43 = *((int *) 0x00020E84);
              sub_12388 (var43, 0x00000000);
              var46 = *((int *) 0x00020E84);
              var49 = sub_1228C (var46, 0x00000000);
              var50 = *((int *) 0x00020E84);
              var51 = ((int *) var50)[11];
              ((int *) var50)[11] = (var51 & 0xFFFFFDFF);
            }
            var52 = *((int *) 0x00020E84);
            __asm__ ("lwc1       $fpr12, -10812($v1);");
            var53 = ((int *) var52)[41];
            scePaf_33096E46 (var53, 0x00000078, 0x00007480, var53);
            ra = ((int *) sp)[57];
            goto label386;
          case 2:
            var56 = "sysconf_plugin";
            var59 = scePaf_D4FAE7D0 (0x0001D7CC);
            if (var59 == 0x00000000)
            {
              var86 = sp;
              scePaf_72A0044D (var86, "flash0:/vsh/module/sysconf_plugin.prx", 0x00000000, 0x00000000);
              var89 = sp + 0x00000010;
              var90 = sp;
              var93 = scePaf_298246CD (var90, 0x00000001);
              var94 = var93;
              scePaf_6E95EFAA (var89);
              sub_01A8C (var89, 0x0001D7CC);
              var99 = sp + 0x0000001C;
              sub_01A8C (var99, "topmenu_plugin");
              var102 = ((int *) var94)[0];
              var103 = sp + 0x00000038;
              ((int *) sp)[10] = var102;
              var104 = ((int *) var94)[1];
              var105 = sp + 0x00000070;
              var106 = sp + 0x00000054;
              ((int *) sp)[11] = var104;
              var107 = sp + 0x00000098;
              var108 = ((int *) var94)[3];
              ((int *) sp)[13] = var108;
              sub_01A8C (var103, "flash0:/vsh/resource/sysconf_plugin.rco");
              var111 = var105;
              ((int *) sp)[19] = 0x00120000;
              ((int *) sp)[18] = 0x00000031;

            label317:
              ((int *) sp)[28] = 0x00000000;
              ((int *) sp)[29] = 0x00000000;
              sub_01A8C (var111, 0x0001D82C);
              var116 = sub_019D4 (var106, var105);
              ((int *) sp)[36] = 0x00000000;
              ((int *) sp)[37] = var1;
              ((int *) sp)[39] = 0x00000000;
              ((int *) var116)[0] = 0x00000000;
              ((int *) var116)[1] = var1;
              ((int *) sp)[38] = 0x00000000;
              sub_01ADC ((var116 + 0x00000008), var107);
              sub_01988 (var107);
              sub_01988 (var105);
              var123 = 0x0000000C;

            label328:
              ((int *) sp)[24] = var123;
              scePaf_88D73AED (var89, 0x000090AC);
              sub_019B8 (var106);
              sub_01988 (var103);
              var130 = var99;

            label335:
              sub_01988 (var130);
              var133 = var89;

            label338:
              sub_01988 (var133);
              var136 = sp;
              scePaf_4612DB4B (var136);
            }
            else
            {

            label343:
              var62 = scePaf_D4FAE7D0 (var56);
              if (!(var62 == 0x00000000))
              {
                var65 = scePaf_338C3774 (var62, 0x00000001);
                if (!(var65 == 0x00000000))
                {
                  var66 = ((int *) var65)[0];

                label350:

                label351:
                  var69 var70 = (*var66) (var1);
                  var71 = *((int *) 0x00020E84);
                  var72 = ((int *) var71)[41];
                  var75 = scePaf_EAA5AFF6 (var72, 0x00000078);

                label355:
                }

              label356:
                var76 = *((int *) 0x00020E84);
                sub_12388 (var76, 0x00000000);
                var79 = *((int *) 0x00020E84);
                var82 = sub_1228C (var79, 0x00000000);
                var83 = *((int *) 0x00020E84);
                var84 = ((int *) var83)[11];
                ((int *) var83)[11] = (var84 & 0xFFFFFDFF);
              }
            case 12:

            label361:
            }

          label362:
            var85 = *((int *) 0x00020E84);
            ((int *) var85)[22] = var2;
            goto label385;
          case 3:
            var139 = "netconf_plugin";
            var142 = scePaf_D4FAE7D0 (0x0001D834);
            if (var142 == 0x00000000)
            {
              var149 = sp;
              scePaf_72A0044D (var149, "flash0:/vsh/module/netconf_plugin.prx", "netconf_plugin_main", 0x00000001);
              var89 = sp + 0x00000010;
              var152 = sp;
              var155 = scePaf_298246CD (var152, 0x00000001);
              var156 = var155;
              scePaf_6E95EFAA (var89);
              sub_01A8C (var89, 0x0001D834);
              var99 = sp + 0x0000001C;
              sub_01A8C (var99, "topmenu_plugin");
              var163 = ((int *) var156)[0];
              var103 = sp + 0x00000038;
              ((int *) sp)[10] = var163;
              var164 = ((int *) var156)[1];
              var165 = sp + 0x00000070;
              var106 = sp + 0x00000054;
              ((int *) sp)[11] = var164;
              var166 = sp + 0x00000098;
              var167 = ((int *) var156)[3];
              ((int *) sp)[13] = var167;
              sub_01A8C (var103, "flash0:/vsh/resource/netconf_dialog.rco");
              ((int *) sp)[18] = 0x00000062;
              ((int *) sp)[19] = 0x00004000;
              ((int *) sp)[28] = 0x00000000;
              ((int *) sp)[29] = 0x00000000;
              sub_01A8C (var165, "action");
              var174 = sub_019D4 (var106, var165);
              ((int *) sp)[36] = 0x00000000;
              ((int *) sp)[37] = var1;
              ((int *) sp)[39] = 0x00000000;
              ((int *) var174)[0] = 0x00000000;
              ((int *) var174)[1] = var1;
              ((int *) sp)[38] = 0x00000000;
              sub_01ADC ((var174 + 0x00000008), var166);
              sub_01988 (var166);
              sub_01988 (var165);
              var123 = 0x0000000D;
              goto label328;
            }
            else
            {

            label294:
              var145 = scePaf_D4FAE7D0 (var139);
              if (!(var145 == 0x00000000))
              {
                var148 = scePaf_338C3774 (var145, 0x00000001);
                if (!(var148 == 0x00000000))
                {
                  var66 = ((int *) var148)[3];
                  goto label350;
                }
                goto label356;
              }
              goto label361;
            }
            goto label362;
          case 4:
            var56 = "update_plugin";
            var183 = scePaf_D4FAE7D0 (0x0001D8A8);
            if (var183 != 0x00000000)
              goto label343;
            var184 = sp;
            scePaf_72A0044D (var184, "flash0:/vsh/module/update_plugin.prx", 0x00000000, 0x00000000);
            var89 = sp + 0x00000010;
            var187 = sp;
            var190 = scePaf_298246CD (var187, 0x00000001);
            var191 = var190;
            scePaf_6E95EFAA (var89);
            sub_01A8C (var89, 0x0001D8A8);
            var196 = sp + 0x0000001C;
            sub_01A8C (var196, "topmenu_plugin");
            var199 = ((int *) var191)[0];
            var200 = sp + 0x00000038;
            ((int *) sp)[10] = var199;
            var201 = ((int *) var191)[1];
            var202 = sp + 0x00000070;
            var203 = sp + 0x00000054;
            ((int *) sp)[11] = var201;
            var204 = sp + 0x00000098;
            var205 = ((int *) var191)[3];
            ((int *) sp)[13] = var205;
            sub_01A8C (var200, "flash0:/vsh/resource/update_plugin.rco");
            ((int *) sp)[28] = 0x00000000;
            ((int *) sp)[29] = 0x00000000;
            sub_01A8C (var202, "action");
            var212 = sub_019D4 (var203, var202);
            ((int *) sp)[36] = 0x00000000;
            ((int *) sp)[37] = var1;
            ((int *) sp)[39] = 0x00000000;
            ((int *) var212)[0] = 0x00000000;
            ((int *) var212)[1] = var1;
            ((int *) sp)[38] = 0x00000000;
            sub_01ADC ((var212 + 0x00000008), var204);
            sub_01988 (var204);
            sub_01988 (var202);
            var219 = 0x0000000F;

          label261:
            ((int *) sp)[24] = var219;
            scePaf_88D73AED (var89, 0x000090AC);
            sub_019B8 (var203);
            sub_01988 (var200);
            var130 = var196;
            goto label335;
          case 5:
            var56 = "photo_plugin";
            var228 = scePaf_D4FAE7D0 (0x0001D908);
            if (var228 != 0x00000000)
              goto label343;
            var229 = sp;
            scePaf_72A0044D (var229, "flash0:/vsh/module/photo_plugin.prx", 0x00000000, 0x00000000);
            var89 = sp + 0x00000010;
            var232 = sp;
            var235 = scePaf_298246CD (var232, 0x00000001);
            var236 = var235;
            scePaf_6E95EFAA (var89);
            sub_01A8C (var89, 0x0001D908);
            var99 = sp + 0x0000001C;
            sub_01A8C (var99, "topmenu_plugin");
            var243 = ((int *) var236)[0];
            var103 = sp + 0x00000038;
            ((int *) sp)[10] = var243;
            var244 = ((int *) var236)[1];
            var105 = sp + 0x00000070;
            var106 = sp + 0x00000054;
            ((int *) sp)[11] = var244;
            var107 = sp + 0x00000098;
            var245 = ((int *) var236)[2];
            ((int *) sp)[12] = var245;
            var246 = ((int *) var236)[3];
            ((int *) sp)[13] = var246;
            sub_01A8C (var103, "flash0:/vsh/resource/photo_plugin.rco");
            ((int *) sp)[19] = 0x00080000;
            var111 = var105;
            goto label317;
          case 6:
            var56 = "music_plugin";
            var251 = scePaf_D4FAE7D0 (0x0001D964);
            if (var251 != 0x00000000)
              goto label343;
            var252 = sp;
            scePaf_72A0044D (var252, "flash0:/vsh/module/music_plugin.prx", 0x00000000, 0x00000000);
            var89 = sp + 0x00000010;
            var255 = sp;
            var258 = scePaf_298246CD (var255, 0x00000001);
            var259 = var258;
            scePaf_6E95EFAA (var89);
            sub_01A8C (var89, 0x0001D964);
            var196 = sp + 0x0000001C;
            sub_01A8C (var196, "topmenu_plugin");
            var266 = ((int *) var259)[0];
            var200 = sp + 0x00000038;
            ((int *) sp)[10] = var266;
            var267 = "flash0:/vsh/resource/music_plugin.rco";
            var268 = var200;
            var269 = ((int *) var259)[1];
            var270 = sp + 0x00000070;
            var203 = sp + 0x00000054;
            ((int *) sp)[11] = var269;
            var271 = sp + 0x00000098;
            var272 = ((int *) var259)[3];
            ((int *) sp)[13] = var272;

          label205:
            sub_01A8C (var268, var267);
            var275 = var270;
            var276 = 0x000C0000;

          label208:
            ((int *) sp)[19] = var276;
            ((int *) sp)[28] = 0x00000000;
            ((int *) sp)[29] = 0x00000000;
            sub_01A8C (var275, 0x0001D82C);
            var281 = sub_019D4 (var203, var270);
            ((int *) sp)[36] = 0x00000000;
            ((int *) sp)[37] = var1;
            ((int *) sp)[39] = 0x00000000;
            ((int *) var281)[0] = 0x00000000;
            ((int *) var281)[1] = var1;
            ((int *) sp)[38] = 0x00000000;
            sub_01ADC ((var281 + 0x00000008), var271);
            sub_01988 (var271);
            sub_01988 (var270);
            var219 = 0x0000000C;
            goto label261;
          case 7:
          case 8:
            var56 = "video_plugin";
            var290 = scePaf_D4FAE7D0 (0x0001D9C0);
            if (var290 != 0x00000000)
              goto label343;
            var291 = sp;
            scePaf_72A0044D (var291, "flash0:/vsh/module/video_plugin.prx", 0x00000000, 0x00000000);
            var294 = sp + 0x00000010;
            var295 = sp;
            var298 = scePaf_298246CD (var295, 0x00000001);
            var299 = var298;
            scePaf_6E95EFAA (var294);
            sub_01A8C (var294, 0x0001D9C0);
            var304 = sp + 0x0000001C;
            sub_01A8C (var304, "topmenu_plugin");
            var307 = ((int *) var299)[0];
            ((int *) sp)[10] = var307;
            var308 = sp + 0x00000038;
            var309 = sp + 0x00000070;
            var310 = ((int *) var299)[3];
            ((int *) sp)[13] = var310;
            var311 = sp + 0x00000054;
            var312 = sp + 0x00000098;
            var313 = ((int *) var299)[1];
            ((int *) sp)[11] = var313;
            var314 = ((int *) var299)[2];
            ((int *) sp)[12] = var314;
            sub_01A8C (var308, "flash0:/vsh/resource/video_plugin.rco");
            ((int *) sp)[19] = 0x00100000;
            ((int *) sp)[28] = 0x00000000;
            ((int *) sp)[29] = 0x00000000;
            sub_01A8C (var309, "action");
            var321 = sub_019D4 (var311, var309);
            ((int *) sp)[36] = 0x00000000;
            ((int *) sp)[37] = var1;
            ((int *) sp)[39] = 0x00000000;
            ((int *) var321)[0] = 0x00000000;
            ((int *) var321)[1] = var1;
            ((int *) sp)[38] = 0x00000000;
            sub_01ADC ((var321 + 0x00000008), var312);
            sub_01988 (var312);
            sub_01988 (var309);
            ((int *) sp)[28] = 0x00000000;
            ((int *) sp)[29] = 0x00000000;
            sub_01A8C (var309, "umd_title");
            var332 = sub_019D4 (var311, var309);
            var333 = var332;
            ((int *) sp)[36] = 0x00000002;
            ((int *) sp)[38] = 0x00000000;
            ((int *) sp)[39] = 0x00000000;
            sub_01A8C (var312, "UMD VIDEO - ");
            var336 = ((int *) sp)[36];
            ((int *) var333)[0] = var336;
            var337 = ((int *) sp)[37];
            ((int *) var333)[1] = var337;
            sub_01ADC ((var333 + 0x00000008), var312);
            sub_01988 (var312);
            sub_01988 (var309);
            ((int *) sp)[24] = 0x0000000C;
            scePaf_88D73AED (var294, 0x000090AC);
            sub_019B8 (var311);
            var348 = sp + 0x00000038;
            sub_01988 (var348);
            sub_01988 (var304);
            var133 = var294;
            goto label338;
          case 9:
            var56 = "msvideo_plugin";
            var355 = scePaf_D4FAE7D0 (0x0001DA40);
            if (var355 != 0x00000000)
              goto label343;
            var356 = sp;
            scePaf_72A0044D (var356, "flash0:/vsh/module/msvideo_plugin.prx", 0x00000000, 0x00000000);
            var89 = sp + 0x00000010;
            var359 = sp;
            var362 = scePaf_298246CD (var359, 0x00000001);
            var363 = var362;
            scePaf_6E95EFAA (var89);
            sub_01A8C (var89, 0x0001DA40);
            var196 = sp + 0x0000001C;
            sub_01A8C (var196, "topmenu_plugin");
            var370 = ((int *) var363)[0];
            var200 = sp + 0x00000038;
            ((int *) sp)[10] = var370;
            var267 = "flash0:/vsh/resource/msvideo_plugin.rco";
            var268 = var200;
            var371 = ((int *) var363)[3];
            var270 = sp + 0x00000070;
            var203 = sp + 0x00000054;
            ((int *) sp)[13] = var371;
            var271 = sp + 0x00000098;
            var372 = ((int *) var363)[1];
            ((int *) sp)[11] = var372;
            goto label205;
          case 10:
            var139 = "savedata_plugin";
            var375 = scePaf_D4FAE7D0 (0x0001DAA0);
            if (var375 != 0x00000000)
              goto label294;
            var376 = sp;
            scePaf_72A0044D (var376, "flash0:/vsh/module/savedata_plugin.prx", 0x00000000, 0x00000000);
            var89 = sp + 0x00000010;
            var379 = sp;
            var382 = scePaf_298246CD (var379, 0x00000001);
            var383 = var382;
            scePaf_6E95EFAA (var89);
            sub_01A8C (var89, 0x0001DAA0);
            var196 = sp + 0x0000001C;
            sub_01A8C (var196, "topmenu_plugin");
            var390 = ((int *) var383)[0];
            var200 = sp + 0x00000038;
            ((int *) sp)[10] = var390;
            var391 = ((int *) var383)[1];
            var270 = sp + 0x00000070;
            var203 = sp + 0x00000054;
            ((int *) sp)[11] = var391;
            var271 = sp + 0x00000098;
            var392 = ((int *) var383)[3];
            ((int *) sp)[13] = var392;
            sub_01A8C (var200, "flash0:/vsh/resource/savedata_plugin.rco");
            var275 = var270;
            var276 = 0x00200000;
            goto label208;
          case 11:
            var139 = "netplay_client_plugin";
            var397 = scePaf_D4FAE7D0 (0x0001DB04);
            if (var397 != 0x00000000)
              goto label294;
            var398 = sp;
            scePaf_72A0044D (var398, "flash0:/vsh/module/netplay_client_plugin.prx", 0x00000000, 0x00000000);
            var89 = sp + 0x00000010;
            var401 = sp;
            var404 = scePaf_298246CD (var401, 0x00000001);
            var405 = var404;
            scePaf_6E95EFAA (var89);
            sub_01A8C (var89, 0x0001DB04);
            var196 = sp + 0x0000001C;
            sub_01A8C (var196, "topmenu_plugin");
            var412 = ((int *) var405)[0];
            var200 = sp + 0x00000038;
            ((int *) sp)[10] = var412;
            var413 = ((int *) var405)[1];
            var270 = sp + 0x00000070;
            var203 = sp + 0x00000054;
            ((int *) sp)[11] = var413;
            var271 = sp + 0x00000098;
            var414 = ((int *) var405)[3];
            ((int *) sp)[13] = var414;
            sub_01A8C (var200, "flash0:/vsh/resource/netplay_plugin.rco");
            var275 = var270;
            var276 = 0x00004000;
            goto label208;
          goto label361;
          goto label383;
          case 14:
            var419 = scePaf_D4FAE7D0 (0x0001DB74);
            if (var419 == 0x00000000)
            {
              var470 = sp;
              scePaf_72A0044D (var470, "flash0:/vsh/module/game_plugin.prx", 0x00000000, 0x00000000);
              var473 = sp + 0x00000010;
              var474 = sp;
              var477 = scePaf_298246CD (var474, 0x00000001);
              var478 = var477;
              scePaf_6E95EFAA (var473);
              sub_01A8C (var473, 0x0001DB74);
              var483 = sp + 0x0000001C;
              sub_01A8C (var483, "topmenu_plugin");
              var486 = ((int *) var478)[0];
              var487 = sp + 0x00000038;
              ((int *) sp)[10] = var486;
              var488 = ((int *) var478)[1];
              var489 = sp + 0x00000070;
              var490 = sp + 0x00000054;
              ((int *) sp)[11] = var488;
              var491 = sp + 0x00000098;
              var492 = ((int *) var478)[3];
              ((int *) sp)[13] = var492;
              sub_01A8C (var487, "flash0:/vsh/resource/game_plugin.rco");
              ((int *) sp)[28] = 0x00000000;
              ((int *) sp)[29] = 0x00000000;
              sub_01A8C (var489, "action");
              var499 = sub_019D4 (var490, var489);
              ((int *) sp)[36] = 0x00000000;
              ((int *) sp)[37] = var1;
              ((int *) sp)[39] = 0x00000000;
              ((int *) var499)[0] = 0x00000000;
              ((int *) var499)[1] = var1;
              ((int *) sp)[38] = 0x00000000;
              sub_01ADC ((var499 + 0x00000008), var491);
              sub_01988 (var491);
              sub_01988 (var489);
              ((int *) sp)[24] = 0x0000000C;
              if (!(var1 == 0x00000002))
              {
              }
              scePaf_88D73AED (var473, 0x00009114);
              sub_019B8 (var490);
              sub_01988 (var487);
              sub_01988 (var483);
              var133 = var473;
              goto label338;
            }
            else
            {
              if (var1 < 0)
                goto label383;
              if (((var1 < 0x00000002)) != 0x00000000)
              {
                var428 = scePaf_338C3774 (var419, 0x00000001);
                var429 = var428;
                if (var428 == 0x00000000)
                  goto label361;
                if (var1 == 0x00000000)
                {
                  var455 = *((int *) 0x00020E84);
                  var456 = ((int *) var455)[203];
                  var457 = ((int *) var456)[7];
                  var460 var461 = (*var457) (0x0000000D, var455);
                  var462 = *((int *) 0x00020E84);
                  var463 = ((int *) var462)[202];
                  var464 = ((int *) var463)[13];
                  __asm__ ("lwc1       $fpr12, -10808($v0);");
                  var467 var468 = (*var464) (0x00000000, var463);
                  var469 = *((int *) 0x00020E84);
                  var445 = ((int *) var429)[1];
                  ((char *) var469)[156] = 0x00000001;

                label86:
                  var448 var449 = (*var445) ();
                  var450 = *((int *) 0x00020E84);
                  var451 = ((int *) var450)[41];
                  var454 = scePaf_EAA5AFF6 (var451, 0x00000078);
                  ra = ((int *) sp)[57];
                }
                else
                {
                  if (var1 != 0x00000001)
                    goto label362;
                  var430 = *((int *) 0x00020E84);
                  var431 = ((int *) var430)[203];
                  var432 = ((int *) var431)[7];
                  var435 var436 = (*var432) (0x0000000D, var430);
                  var437 = *((int *) 0x00020E84);
                  var438 = ((int *) var437)[202];
                  var439 = ((int *) var438)[13];
                  __asm__ ("lwc1       $fpr12, -10808($v0);");
                  var442 var443 = (*var439) (0x00000000, var438);
                  var444 = *((int *) 0x00020E84);
                  var445 = ((int *) var429)[2];
                  ((char *) var444)[156] = var1;
                  goto label86;
                }
              }
              else
              {
                if (var1 != 0x00000002)
                  goto label383;
                var422 = scePaf_D4FAE7D0 (0x0001DB74);
                if (!(var422 == 0x00000000))
                {
                  var425 = scePaf_338C3774 (var422, 0x00000001);
                  if (!(var425 == 0x00000000))
                  {
                    var66 = ((int *) var425)[0];
                    goto label351;
                  }
                  goto label355;
                }
                goto label361;
              }
            }
          }
        }
      }
      else
      {
        goto label383;
      }
    }
    else
    {

    label7:
      var3 = (var1 < 0x00000002);
      if (var2 == 0x00000008)
      {
        if ((var3 | (((var1 ^ 0x00000003) < 0x00000001))) != 0x00000000)
        {
          goto label25;
        }
        else
        {
          if (var1 != 0x00000004)
          {
            var4 = var2 ^ 0x0000000E;

          label14:
            var5 = (var4 < 0x00000001);
            if ((var5 & var3) == 0x00000000)
            {
              if (var2 == 0x00000005)
              {

              label20:
                var514 = *((int *) 0x00020E84);

              label21:
                var515 = ((int *) var514)[202];
                var516 = ((int *) var515)[25];
                var11 var519 = (*var516) (var3, var5, arg3, arg4, arg5, arg6, arg7, arg8);
                var13 = ((int *) var514)[44];
                goto label28;
              }
              else
              {
                var514 = *((int *) 0x00020E84);
                if (((((var2 ^ 0x00000006) < 0x00000001)) & var3) != 0x00000000)
                  goto label21;
                if ((var5 & (((var1 ^ 0x00000002) < 0x00000001))) == 0x00000000)
                {
                  var25 = (var2 < 0x0000000F);
                  goto label30;
                }
                else
                {
                  goto label20;
                }
              }
            }
            else
            {
              goto label25;
            }
          }
          else
          {
            goto label25;
          }
        }
      }
      else
      {
        var4 = var2 ^ 0x0000000E;
        goto label14;
      }
    }
  }
  else
  {
    goto label7;
  }

label386:
  var16 = ((int *) sp)[56];
  var17 = ((int *) sp)[55];
  var18 = ((int *) sp)[54];
  var19 = ((int *) sp)[53];
  var20 = ((int *) sp)[52];
  var21 = ((int *) sp)[51];
  var22 = ((int *) sp)[50];
  var23 = ((int *) sp)[49];
  var24 = ((int *) sp)[48];
  sp = sp + 0x000000F0;
  return;
}

/**
 * Subroutine at address 0x000090AC
 */
void sub_090AC ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[1] = ra;
  sub_12388 (var1, 0x00000000);
  var4 = *((int *) 0x00020E84);
  var7 = sub_1228C (var4, 0x00000000);
  var8 = *((int *) 0x00020E84);
  var9 = ((int *) var8)[11];
  var10 = ((unsigned char *) var8)[100];
  ((int *) var8)[11] = (var9 & 0xFFFFFDFF);
  if (var10 == 0x00000000)
  {
    var12 = ((int *) var8)[41];
    var15 = scePaf_EAA5AFF6 (var12, 0x00000078);
    ra = ((int *) sp)[1];
  }
  else
  {
    ra = ((int *) sp)[1];
  }
  var11 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009114
 */
void sub_09114 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[3] = ra;
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[202];
  var3 = ((int *) var2)[24];
  var4 = arg1;
  var7 var8 = (*var3) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
  var9 = ((int *) var1)[51];
  if (var9 == var7)
  {
    if (var4 == 0x00000000)
    {

    label30:
      sub_09248 ();
    }
    else
    {
      var17 = scePaf_338C3774 (var4, 0x00000001);
      var18 = var17;
      if (var17 == 0x00000000)
        goto label30;
      var19 = *((int *) 0x00020E84);
      var20 = ((int *) var19)[228];
      if (var20 == 0x00000000)
      {
        var47 = ((int *) var19)[203];
        var48 = ((int *) var47)[7];
        var51 var52 = (*var48) (0x0000000D);
        var53 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr12, -10804($v0);");
        var54 = ((int *) var53)[202];
        var55 = ((int *) var54)[13];
        var58 var59 = (*var55) (0x00000000, var54);
        var60 = *((int *) 0x00020E84);
        var42 = ((int *) var18)[1];
        ((char *) var60)[156] = 0x00000001;

      label23:
        var45 var46 = (*var42) ();
        var21 = *((int *) 0x00020E84);
      }
      else
      {
        if (var20 == 0x00000001)
        {
          var28 = ((int *) var19)[203];
          var29 = ((int *) var28)[7];
          var32 var33 = (*var29) (0x0000000D);
          var34 = *((int *) 0x00020E84);
          __asm__ ("lwc1       $fpr12, -10804($v0);");
          var35 = ((int *) var34)[202];
          var36 = ((int *) var35)[13];
          var39 var40 = (*var36) (0x00000000, var35);
          var41 = *((int *) 0x00020E84);
          var42 = ((int *) var18)[2];
          ((char *) var41)[156] = var20;
          goto label23;
        }
        else
        {
          var21 = *((int *) 0x00020E84);
        }
      }
      var22 = ((int *) var21)[41];
      var25 = scePaf_EAA5AFF6 (var22, 0x00000078);
      var26 = *((int *) 0x00020E84);
      var27 = ((int *) var26)[11];
      ((int *) var26)[11] = (var27 & 0xFFFFFDFF);
    }
  }
  else
  goto label30;
  ra = ((int *) sp)[3];
  var12 = ((int *) sp)[2];
  var13 = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009248
 */
void sub_09248 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  sub_12388 (var1, 0x00000000);
  var4 = *((int *) 0x00020E84);
  var7 = sub_1228C (var4, 0x00000000);
  var8 = *((int *) 0x00020E84);
  var9 = ((int *) var8)[11];
  ((char *) var8)[100] = 0x00000001;
  ((int *) var8)[11] = (var9 & 0xFFFFFDFF);
  sub_0FEB8 (var8, 0x00000008);
  var12 = *((int *) 0x00020E84);
  var13 = ((unsigned char *) var12)[200];
  if (var13 == 0x00000001)
  {
    sub_0DE90 (var12);
    var12 = *((int *) 0x00020E84);
  }
  var14 = ((unsigned char *) var12)[172];
  if (var14 == 0x00000001)
  {
    sub_0EB60 (var12);
    var12 = *((int *) 0x00020E84);
  }
  var15 = ((int *) var12)[11];
  ra = ((int *) sp)[2];
  var16 = ((int *) sp)[1];
  var17 = ((int *) sp)[0];
  ((int *) var12)[11] = (var15 | 0x00000020);
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000092FC
 */
void sub_092FC (int arg1)
{
  sp = sp + 0xFFFFFF70;
  ((int *) sp)[33] = ra;
  ((int *) sp)[32] = s4;
  var1 = sp + 0x0000001C;
  ((int *) sp)[31] = s3;
  var2 = sp + 0x00000038;
  ((int *) sp)[30] = s2;
  var3 = sp + 0x00000010;
  ((int *) sp)[29] = s1;
  ((int *) sp)[28] = s0;
  var4 = *((int *) 0x00020E84);
  var7 = sub_1228C (var4, 0x00000001);
  var8 = *((int *) 0x00020E84);
  ((int *) var8)[16] = arg1;
  ((char *) var8)[101] = 0x00000001;
  var11 = scePaf_D4FAE7D0 (0x0001DC08);
  var12 = sp;
  if (var11 == 0x00000000)
  {
    scePaf_72A0044D (var12, "flash0:/vsh/module/auth_plugin.prx", 0x00000000, 0x00000000);
    var23 = sp;
    var26 = scePaf_298246CD (var23, 0x00000001);
    var27 = var26;
    scePaf_6E95EFAA (var3);
    sub_01A8C (var3, 0x0001DC08);
    sub_01A8C (var1, "topmenu_plugin");
    var34 = ((int *) var27)[0];
    ((int *) sp)[10] = var34;
    var35 = ((int *) var27)[1];
    ((int *) sp)[11] = var35;
    var36 = ((int *) var27)[3];
    ((int *) sp)[13] = var36;
    sub_01A8C (var2, "flash0:/vsh/resource/auth_plugin.rco");
    ((int *) sp)[18] = 0x00000030;
    ((int *) sp)[24] = 0x0000000C;
    scePaf_88D73AED (var3, 0x00009450);
    var41 = sp + 0x00000054;
    sub_019B8 (var41);
    sub_01988 (var2);
    sub_01988 (var1);
    sub_01988 (var3);
    var50 = sp;
    scePaf_4612DB4B (var50);
    ra = ((int *) sp)[33];
  }
  else
  {
    var13 = ((int *) var11)[115];
    scePaf_5EBC648F (var11, var13);
    ra = ((int *) sp)[33];
  }
  var16 = ((int *) sp)[32];
  var17 = ((int *) sp)[31];
  var18 = ((int *) sp)[30];
  var19 = ((int *) sp)[29];
  var20 = ((int *) sp)[28];
  sp = sp + 0x00000090;
  return;
}

/**
 * Subroutine at address 0x00009450
 */
void sub_09450 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  var2 = *((int *) 0x00020E84);
  while (1) {
    var5 = sub_1228C (var2, 0x00000000);
    var6 = *((int *) 0x00020E84);
    if (var5 > 0)
      continue;
    break;
  }
  if (var1 == 0x00000000)
  {

  label24:
    ra = ((int *) sp)[2];
  }
  else
  {
    var9 = scePaf_338C3774 (var1, 0x00000001);
    if (!(var9 == 0x00000000))
    {
      var10 = *((int *) 0x00020E84);
      var11 = ((int *) var10)[16];
      if (!(var11 == 0x00000002))
      {
        if (((var11 < 0x00000003)) == 0x00000000)
        {
          var12 = 0x00000003;
        }
        else
        {
          var12 = 0x00000001;
        }
        if (var11 != var12)
        {
        }
      }
      var13 = *((int *) 0x00020E84);
      var14 = ((int *) var9)[0];
      var15 = ((int *) var13)[11];
      var16 = ((int *) var13)[16];
      ((int *) var13)[11] = (var15 | 0x00000004);
      var19 var20 = (*var14) (0x00000001, 0x00009530, var16, var14);
    }
    var21 = *((int *) 0x00020E84);
    var22 = ((int *) var21)[202];
    var23 = ((int *) var22)[22];
    var26 var27 = (*var23) ();
    if (!(var26 == 0x00000000))
      goto label24;
    var30 = *((int *) 0x00020E84);
    sub_0FC8C (var30);
    ra = ((int *) sp)[2];
  }
  var28 = ((int *) sp)[1];
  var29 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009530
 */
void sub_09530 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  if (arg1 == 0x00000000)
  {
    var7 = *((int *) 0x00020E84);
    var10 = sub_11A58 (var7);
    var11 = *((int *) 0x00020E84);
    sub_11AD0 (var11, var10);
    var14 = *((int *) 0x00020E84);
    var15 = ((int *) var14)[11];
    var16 = ((int *) var14)[18];
    var17 = ((int *) var14)[17];
    ((int *) var14)[11] = (var15 | 0x00000030);
    sub_07CF0 (var17, var16);
    var5 = *((int *) 0x00020E84);
  }
  else
  {
    if (arg1 < 0)
    {

    label15:
      var5 = *((int *) 0x00020E84);
    }
    else
    {
      if (((arg1 < 0x00000003)) == 0x00000000)
      {
        var5 = *((int *) 0x00020E84);
      }
      else
      {
        var1 = *((int *) 0x00020E84);
        var2 = *((int *) 0x00020E84);
        sub_0FDE0 (0x00000000, var2);
        goto label15;
      }
    }
  }
  ra = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  ((char *) var5)[101] = 0x00000000;
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000095B4
 */
void sub_095B4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg2)[2];
  ra = ((int *) sp)[0];
  if (!(((var1 >> 0x00000008) & 0x00000080) != 0x00000000))
  {
    var2 = *((int *) 0x00020E84);
    var3 = ((int *) var2)[27];
    if (var3 <= 0)
    {
      var4 = ((int *) arg2)[4];
      ra = ((int *) sp)[0];
      if (!(var4 < 0))
      {
        var7 = sub_0C5CC (var2);
        if (var7 == 0x00000000)
        {

        label12:
          ra = ((int *) sp)[0];
        }
        else
        {
          sub_07CF0 (0x00000001, 0x00000004);
          ra = ((int *) sp)[0];
        }
      }
    }
    else
    goto label12;
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000961C
 */
void sub_0961C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg1;
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  ((int *) sp)[0] = s0;
  var2 = arg2;
  sub_0A098 (0x00000000);
  var7 = scePaf_EAA5AFF6 (var1, 0x0000006F);
  var8 = ((int *) var2)[5];
  var9 = ((int *) var2)[3];
  if (var8 == var9)
  {
    if (var8 != 0x00000004)
    {
    }
    else
    {
      var40 = ((int *) var2)[6];
      if (var40 != 0x00000001)
      {
        var42 = *((int *) 0x00020E84);
      }
      else
      {
        var41 = *((int *) 0x00020E84);
        ((int *) var41)[38] = 0x00000000;
      }
    }
  }
  else
  {
  }
  var10 = *((int *) 0x00020E84);
  var13 = sub_10DD4 (var10);
  if (var13 != 0x00000000)
  {
    var31 = *((int *) 0x00020E84);
    sub_10C90 (var31);
    var34 = *((int *) 0x00020E84);
    var35 = ((int *) var2)[6];
    var36 = ((int *) var2)[5];
    var37 = ((int *) var34)[41];
    __asm__ ("mtc1       $zr, $fpr13;");
    __asm__ ("lwc1       $fpr12, -10800($v0);");
    scePaf_62081F34 (var37, var36, var35);
    var14 = *((int *) 0x00020E84);
  }
  else
  {
    var14 = *((int *) 0x00020E84);
  }
  var15 = ((unsigned char *) var14)[100];
  ra = ((int *) sp)[3];
  if (var15 != 0x00000000)
  {
    var21 = sub_0C6A8 (var14);
    ra = ((int *) sp)[3];
    if (!(var21 == 0x00000000))
    {
      var22 = *((int *) 0x00020E84);
      var23 = ((int *) var22)[202];
      var24 = ((int *) var23)[22];
      var27 var28 = (*var24) ();
      if (var27 == 0x00000000)
      {
        ra = ((int *) sp)[3];
      }
      else
      {
        __asm__ ("lwc1       $fpr12, -10796($v0);");
        scePaf_EF52945B (var1, 0x0000006F, 0x00009D4C, 0x00000000);
        ra = ((int *) sp)[3];
      }
    }
  }
  var16 = ((int *) sp)[2];
  var17 = ((int *) sp)[1];
  var18 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009734
 */
int sub_09734 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = 0x00000000;
  if (arg1 == 0x00000001)
  {
  case 0:
  case 1:
  case 12:
  case 13:

  label20:
    ra = ((int *) sp)[0];
  }
  else
  {
    var2 = *((int *) 0x00020E84);
    var3 = ((int *) var2)[22];
    if (var3 == arg1)
      goto label20;
    if (((var3 < 0x0000000F)) == 0x00000000)
    {
      ra = ((int *) sp)[0];
    }
    else
    {
      var4 = ((int *) ((var3 << 0x00000002) + 0x0001DC60))[0];
      switch () {
      goto label20;
      goto label20;
      case 2:

      label17:
        var7 = scePaf_D4FAE7D0 ("sysconf_plugin");
        var1 = var7;
        goto label20;
      case 3:
        goto label17;
      case 4:
        goto label17;
      case 5:
        goto label17;
      case 6:
        goto label17;
      case 7:
      case 8:
        goto label17;
      case 9:
        goto label17;
      case 10:
        goto label17;
      case 11:
        goto label17;
      goto label20;
      goto label20;
      case 14:
        goto label17;
      }
    }
  }
  sp = sp + 0x00000010;
  return var1;
}

/**
 * Subroutine at address 0x00009810
 */
void sub_09810 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = s1;
  ((int *) sp)[6] = ra;
  ((int *) sp)[4] = s0;
  var1 = *((int *) 0x00020E84);
  var2 = ((unsigned char *) var1)[156];
  var3 = arg1;
  if (var2 != 0x00000000)
  {

  label81:
    ra = ((int *) sp)[6];
  }
  else
  {
    var4 = ((unsigned short *) arg1)[2];
    if (var4 == 0x00000400)
    {
      var36 = ((int *) arg1)[3];
      var37 = ((int *) arg1)[4];
      if (var36 == var37)
      {
      }
      else
      {
        var38 = *((int *) 0x00020E84);
        if (((var36 < 0x00000009)) == 0x00000000)
        {

        label11:
          var67 = ((unsigned char *) var38)[36];
          if (((var67 ^ 0x00000001) & 0x00000001) == 0x00000000)
          {
            var69 = ((int *) var38)[11];
          }
          else
          {
            var68 = ((int *) var38)[9];
            ((int *) var38)[9] = (var68 | 0x00000010);
            var69 = ((int *) var38)[11];
          }
          var70 = *((int *) 0x00020E84);
          ((int *) var38)[11] = (var69 | 0x00000100);
          var71 = ((int *) var70)[202];
          var72 = ((int *) var3)[3];
          var73 = ((int *) var71)[24];
          ((int *) var38)[52] = var72;
          var76 var77 = (*var73) (var71, var3, var38, arg4, arg5, arg6, arg7, arg8);
          ((int *) var70)[19] = var76;
          sub_09F34 (0x00000001);
          var42 = *((int *) 0x00020E84);
        }
        else
        {
          var39 = ((int *) ((var36 << 0x00000002) + 0x0001DC9C))[0];
          switch () {
          case 0:
            var40 = *((int *) 0x00020E84);
            var41 = ((unsigned char *) var40)[36];
            if (((var41 ^ 0x00000001) & 0x00000001) != 0x00000000)
            {
              var46 = sceUmdUser_46EBB729 ();
              var47 = *((int *) 0x00020E84);
              if (var46 <= 0)
              {
                var58 = ((int *) var47)[9];
                var59 = ((int *) var47)[11];
                ((char *) var47)[112] = 0x00000001;
                ((int *) var47)[9] = (var58 | 0x00000020);
                ((int *) var47)[11] = (var59 | 0x00000001);
                sub_0D908 (var47);
                var62 = *((int *) 0x00020E84);
                ((char *) var62)[157] = 0x00000000;
              }
              else
              {
                var48 = *((int *) 0x00020E84);
                var49 = ((unsigned char *) var48)[157];
                if (var49 == 0x00000000)
                {
                  sub_0D908 (var48);
                  var57 = *((int *) 0x00020E84);
                  ((char *) var57)[157] = 0x00000001;
                }
                else
                {
                  ((char *) var48)[157] = 0x00000000;
                }
              }
              sub_0A098 (0x00000001);
              var52 = *((int *) 0x00020E84);
              sub_0DE90 (var52);
              var42 = *((int *) 0x00020E84);
            }
            else
            {
            case 1:

            label40:
              var42 = *((int *) 0x00020E84);
            }
          goto label40;
          case 2:
          case 4:
            var63 = *((int *) 0x00020E84);
            var64 = 0x00000004;

          label20:
            sub_0FA78 (var63, var64);
            var42 = *((int *) 0x00020E84);
            goto label41;
          case 3:
          case 5:
          case 6:
          case 7:
            var38 = *((int *) 0x00020E84);
            goto label11;
          case 8:
            var63 = *((int *) 0x00020E84);
            var64 = 0x00000006;
            goto label20;
          }
        }

      label41:
        var43 = ((int *) var42)[9];
        ((int *) var42)[9] = ((var43 | 0x00000100) & 0xFFFFFFFE);
      }
      goto label81;
    }
    else
    {
      if (!(var4 == 0x00000401))
        goto label81;
      var7 = ((int *) arg1)[4];
      var8 = ((int *) arg1)[3];
      if (var8 == var7)
      {
        goto label81;
      }
      else
      {
        if (var8 == 0x00000001)
        {
          goto label81;
        }
        else
        {
          if (((var8 < 0x00000002)) != 0x00000000)
          {
            ra = ((int *) sp)[6];
            if (!(var8 != 0x00000000))
            {
              sub_0A098 (0x00000002);
              sub_0A098 (0x00000003);
              var17 = sp;
              var20 = IoFileMgrForUser_54F5FB11 ("mscmhc0:", 0x02025806, 0x00000000, 0x00000000, var17, 0x00000004);
              var21 = var20;
              if (!(var20 < 0))
              {
                var22 = ((int *) sp)[0];
                var21 = ((var22 ^ 0x00000001) < 0x00000001);
              }
              if (var21 <= 0)
              {
                var31 = *((int *) 0x00020E84);
                var32 = ((int *) var31)[11];
                ((char *) var31)[113] = 0x00000000;
                ((int *) var31)[11] = (var32 | 0x00000002);
                sub_0D908 (var31);
                var35 = *((int *) 0x00020E84);
                ((char *) var35)[157] = 0x00000000;
              }
              else
              {
                var23 = *((int *) 0x00020E84);
                var24 = ((unsigned char *) var23)[157];
                ((char *) var23)[113] = 0x00000001;
                if (var24 == 0x00000000)
                {
                  sub_0D908 (var23);
                  var30 = *((int *) 0x00020E84);
                  ((char *) var30)[157] = 0x00000001;
                }
                else
                {
                  ((char *) var23)[157] = 0x00000000;
                }
              }
              var25 = *((int *) 0x00020E84);
              sub_0EB60 (var25);
              ra = ((int *) sp)[6];
            }
          }
          else
          {
            if (var8 == 0x00000002)
            {
              sub_09F34 (0x00000002);
              ra = ((int *) sp)[6];
            }
            else
            {
              if (var8 != 0x00000003)
              {
                ra = ((int *) sp)[6];
              }
              else
              {
                sub_0FA78 (var1, 0x0000000C);
                ra = ((int *) sp)[6];
              }
            }
          }
        }
      }
    }
  }
  var5 = ((int *) sp)[5];
  var6 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00009AE0
 */
void sub_09AE0 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg2;
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var4 = scePaf_75062BCF (arg2);
  if (var4 == 0x00000000)
  {
    var8 = *((int *) 0x00020E84);
    sub_11C84 (var8);
    var11 = *((int *) 0x00020E84);
    var14 = sub_0FE80 (var11, 0x00000004);
    var15 = *((int *) 0x00020E84);
    if (var14 == 0x00000000)
    {
      var82 = sub_11DFC (var15, 0x00000004, 0x0007D000);
      var83 = *((int *) 0x00020E84);
      if (!(var82 == 0x00000000))
      {
        sub_12028 (var83, 0x00000004);
      }
    }
    var18 = scePaf_75062BCF (var1);
    ra = ((int *) sp)[3];
    if (!(var18 != 0x00000000))
    {
      var19 = *((int *) 0x00020E84);
      var22 = sub_12244 (var19, 0x00000004);
      var23 = *((int *) 0x00020E84);
      var26 = sub_0FE80 (var23, 0x00000005);
      var27 = *((int *) 0x00020E84);
      if (var26 == 0x00000000)
      {
        var76 = sub_11DFC (var27, 0x00000005, (0x0007D000 - var22));
        var77 = *((int *) 0x00020E84);
        if (!(var76 == 0x00000000))
        {
          sub_12028 (var77, 0x00000005);
        }
      }
      var30 = scePaf_75062BCF (var1);
      ra = ((int *) sp)[3];
      if (!(var30 != 0x00000000))
      {
        var31 = *((int *) 0x00020E84);
        var34 = sub_0FE80 (var31, 0x00000002);
        var35 = *((int *) 0x00020E84);
        if (!(var34 != 0x00000000))
        {
          var36 = ((int *) var35)[206];
          var37 = ((int *) var36)[3];
          if (var37 != 0x00000000)
          {

          label42:
            sub_12028 (var35, 0x00000002);
          }
          else
          {
            var40 = sub_11DFC (var35, 0x00000002, 0x000FA000);
            if (var40 != 0x00000000)
            {
              var35 = *((int *) 0x00020E84);
              goto label42;
            }
            else
            {
            }
          }
        }
        var43 = scePaf_75062BCF (var1);
        ra = ((int *) sp)[3];
        if (!(var43 != 0x00000000))
        {
          var44 = *((int *) 0x00020E84);
          var47 = sub_0FE80 (var44, 0x00000001);
          var48 = *((int *) 0x00020E84);
          if (var47 == 0x00000000)
          {
            var68 = sub_11DFC (var48, 0x00000001, 0x000FA000);
            var69 = *((int *) 0x00020E84);
            if (!(var68 == 0x00000000))
            {
              sub_12028 (var69, 0x00000001);
            }
          }
          var51 = scePaf_75062BCF (var1);
          ra = ((int *) sp)[3];
          if (!(var51 != 0x00000000))
          {
            var52 = *((int *) 0x00020E84);
            var55 = sub_0FE80 (var52, 0x00000000);
            var56 = *((int *) 0x00020E84);
            if (var55 == 0x00000000)
            {
              var62 = sub_11DFC (var56, 0x00000000, 0x000FA000);
              var63 = *((int *) 0x00020E84);
              if (!(var62 == 0x00000000))
              {
                sub_12028 (var63, 0x00000000);
              }
            }
            var59 = scePaf_75062BCF (var1);
            ra = ((int *) sp)[3];
          }
        }
      }
    }
  }
  else
  {
    ra = ((int *) sp)[3];
  }
  var5 = ((int *) sp)[2];
  var6 = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009CC8
 */
void sub_09CC8 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  if (arg1 != 0x00000000)
  {

  label13:
    var1 = *((int *) 0x00020E84);
  }
  else
  {
    if (!(arg4 == 0x00000000))
      goto label13;
    var7 = *((int *) 0x00020E84);
    var10 = sub_0C6A8 (var7);
    var1 = *((int *) 0x00020E84);
    if (!(var10 == 0x00000000))
    {
      var11 = ((unsigned char *) var1)[100];
      if (!(var11 == 0x00000000))
      {
        var12 = ((unsigned char *) var1)[101];
        if (!(var12 != 0x00000000))
        {
          var13 = ((unsigned char *) var1)[156];
          if (!(var13 != 0x00000000))
          {
            sub_0FF5C (var1);
            var1 = *((int *) 0x00020E84);
          }
        }
      }
    }
  }
  sub_12388 (var1, 0x00000000);
  sub_0A188 (0x00000000);
  ra = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009D4C
 */
void sub_09D4C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[1] = ra;
  var4 = sub_0C6A8 (var1);
  if (var4 != 0x00000000)
  {
    var7 = *((int *) 0x00020E84);
    var8 = ((int *) var7)[202];
    var9 = ((int *) var8)[22];
    var12 var13 = (*var9) ();
    if (var12 == 0x00000000)
    {

    label13:
      ra = ((int *) sp)[1];
    }
    else
    {
      sub_09F34 (0x00000000);
      ra = ((int *) sp)[1];
    }
  }
  else
  {
    var5 = *((int *) 0x00020E84);
    goto label13;
  }
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009DA8
 */
void sub_09DA8 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var3 = scePaf_75062BCF (arg2);
  if (var3 == 0x00000000)
  {
    var5 = *((int *) 0x00020E84);
    sub_110E0 (var5, (var5 + 0x000000C8));
    var10 = scePaf_75062BCF (arg2);
    ra = ((int *) sp)[1];
  }
  else
  {
    ra = ((int *) sp)[1];
  }
  var4 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009DF8
 */
void sub_09DF8 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = scePaf_75062BCF (arg2);
  ra = ((int *) sp)[0];
  if (!(var3 != 0x00000000))
  {
    var4 = *((int *) 0x00020E84);
    var5 = ((unsigned char *) var4)[100];
    if (var5 != 0x00000000)
    {
      sub_11C28 (var4);
      ra = ((int *) sp)[0];
    }
    else
    {
      ra = ((int *) sp)[0];
    }
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009E44
 */
void sub_09E44 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  if (arg1 != 0x00000000)
  {

  label13:
    var2 = *((int *) 0x00020E84);
  }
  else
  {
    var1 = *((int *) 0x00020E84);
    if (!(arg4 == 0x00000000))
      goto label13;
    var9 = ((int *) var1)[202];
    var10 = ((int *) var9)[24];
    var13 var14 = (*var10) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
    var15 = ((int *) var1)[19];
    if (var15 != var13)
    {
      var2 = *((int *) 0x00020E84);
    }
    else
    {
      var16 = *((int *) 0x00020E84);
      sub_0D9B8 (var16);
      var19 = *((int *) 0x00020E84);
      sub_0D4C8 (var19);
      var2 = *((int *) 0x00020E84);
    }
  }
  sub_12388 (var2, 0x00000000);
  sub_0A188 (0x00000001);
  ra = ((int *) sp)[2];
  var7 = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009EC4
 */
void sub_09EC4 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (!(arg1 != 0x00000000))
  {
    if (arg4 == 0x00000000)
    {
      var3 = *((int *) 0x00020E84);
      sub_0E8EC (var3);
    }
  }
  sub_0A188 (0x00000002);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009EFC
 */
void sub_09EFC (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (!(arg1 != 0x00000000))
  {
    if (arg4 == 0x00000000)
    {
      var3 = *((int *) 0x00020E84);
      sub_0F5BC (var3);
    }
  }
  sub_0A188 (0x00000003);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00009F34
 */
void sub_09F34 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  if (((arg1 < 0x00000004)) != 0x00000000)
  {
    sub_0A098 (arg1);
    var7 = *((int *) 0x00020E84);
    var8 = ((int *) ((var1 << 0x00000003) + var7))[1];
    if (var8 != 0x00000000)
    {
      var12 = *((int *) 0x00020E84);

    label32:
      var13 = ((int *) var12)[0];
      ((int *) var12)[0] = (var13 + 0x00000001);

    label33:
      ra = ((int *) sp)[3];
    }
    else
    {
      if (var1 == 0x00000001)
      {
        sub_12388 (var7, 0x00000001);
        var25 = *((int *) 0x00020E84);
        var28 = scePaf_A0ED77C4 (0x00000000, 0x00009DA8, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00009E44);
        ((int *) var25)[3] = var28;

      label31:
        var12 = *((int *) 0x00020E84);
        goto label32;
      }
      else
      {
        if (((var1 < 0x00000002)) != 0x00000000)
        {
          ra = ((int *) sp)[3];
          if (!(var1 != 0x00000000))
          {
            sub_12388 (var7, 0x00000001);
            var19 = *((int *) 0x00020E84);
            var22 = scePaf_A0ED77C4 (0x00000000, 0x00009AE0, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00009CC8);
            ((int *) var19)[1] = var22;
            goto label31;
          }
        }
        else
        {
          if (var1 == 0x00000002)
          {
            var16 = scePaf_A0ED77C4 (0x00000000, 0x00009DF8, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00009EC4);
            ((int *) var7)[5] = var16;
            goto label31;
          }
          else
          {
            ra = ((int *) sp)[3];
            if (!(var1 != 0x00000003))
            {
              var11 = scePaf_A0ED77C4 (0x00000000, 0x00009DF8, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00009EFC);
              ((int *) var7)[7] = var11;
              goto label31;
            }
          }
        }
      }
    }
  }
  else
  goto label33;
  var2 = ((int *) sp)[2];
  var3 = ((int *) sp)[1];
  var4 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000A098
 */
void sub_0A098 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1 << 0x00000003;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  if (!(((arg1 < 0x00000004)) == 0x00000000))
  {
    var2 = *((int *) 0x00020E84);
    var3 = ((int *) (var1 + var2))[1];
    if (var3 != 0x00000000)
    {
      var8 = scePaf_75062BCF (var3);
      if (var8 == 0x00000000)
      {
        var10 = *((int *) 0x00020E84);
        var11 = ((int *) (var1 + var10))[1];
        scePaf_35F25BA1 (0x00000000, var11);
        var9 = *((int *) 0x00020E84);
      }
      else
      {
        var9 = *((int *) 0x00020E84);
      }
      ((int *) (var1 + var9))[1] = 0x00000000;
    }
  }
  ra = ((int *) sp)[2];
  var4 = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000A188
 */
void sub_0A188 (int arg1)
{
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[0];
  ((int *) ((arg1 << 0x00000003) + var1))[1] = 0x00000000;
  ((int *) var1)[0] = (var2 + 0xFFFFFFFF);
  return;
}

/**
 * Subroutine at address 0x0000A1AC
 */
void sub_0A1AC (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = ra;
  var1 = arg1;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  __asm__ ("swc1       $fpr20, 16($sp);"
    : 
    : "=r"(sp));
  if (arg1 == 0x00000003)
  {
    var93 = *((int *) 0x00020E84);
    var94 = ((int *) var93)[22];
    ((int *) var93)[23] = var94;
    sub_09F34 (arg1);
    sub_0A71C (0x00000000);
    sub_0A71C (0x0000000C);

  label82:
    var29 = *((int *) 0x00020E80);

  label95:
    scePaf_CAF05F1D (var14, 0x0001DDA0);
  case 1:

  label97:
    ra = ((int *) sp)[3];
  }
  else
  {
    if (((arg1 < 0x00000004)) == 0x00000000)
    {
      if (arg1 == 0x00000004)
      {
        var55 = *((int *) 0x00020E84);
        var58 = sub_0C5CC (var55);
        ra = ((int *) sp)[3];
        if (!(var58 == 0x00000000))
        {
          var59 = *((int *) 0x00020E84);
          __asm__ ("lwc1       $fpr20, -10788($v0);");
          var60 = ((int *) var59)[41];
          __asm__ ("mtc1       $zr, $fpr14;"
                   "lwc1       $fpr12, -10784($v0);");
          __asm__ ("mov.s      $fpr13, $fpr20;");
          scePaf_CC103AD2 (var60);
          var63 = *((int *) 0x00020E84);
          __asm__ ("mtc1       $zr, $fpr13;"
                   "mov.s      $fpr12, $fpr20;");
          var64 = ((int *) var63)[41];
          var65 = ((int *) var64)[206];
          scePaf_D16E5935 (var64, var65);
          var68 = *((int *) 0x00020E84);
          var71 = sub_0CB1C (var68);
          var72 = ((int *) var71)[0];
          var73 = var72 + 0xFFFFFFF6;
          if (((var73 < 0x0000000A)) == 0x00000000)
          {
            var78 = *((int *) 0x00020E84);
          }
          else
          {
            var74 = *((int *) 0x00020E84);
            var75 = ((int *) ((var73 << 0x00000002) + 0x0001DE0C))[0];
            switch () {
            case 0:
            case 2:
            case 5:
            case 9:
              var76 = *((int *) 0x00020E84);
              var77 = 0x00000002;

            label28:
              ((int *) var76)[12] = var77;
            case 6:
            case 7:
              var78 = *((int *) 0x00020E84);
              goto label30;
            case 1:
            case 3:
            case 4:
            case 8:
              var76 = *((int *) 0x00020E84);
              var77 = 0x00000001;
              goto label28;
            }
          }

        label30:
          var79 = ((int *) var78)[42];
          if (var79 == 0x00000000)
          {
            var81 = var72 + 0xFFFFFFF3;

          label38:
            var82 = 0x00000000;
            if (((var81 < 0x00000002)) != 0x00000000)
            {
              var89 = scePaf_5DFB5858 ();
              var90 = ((int *) var89)[36];
              if ((((0x00000000 < var90)) & ((0x00000000 < (var90 ^ 0x00000006)))) != 0x00000000)
              {
                var82 = 0x00000001;

              label44:
              }
              else
              {
              }
            }
            else
            goto label44;
            var83 = *((int *) 0x00020E80);
            sceVshCommonGui_614630E6 (var83, "page_optionmenu", "plane_optionmenu", var82, "mlist_optionmenu", 0x00000000, 0x00000000);
          }
          else
          {
            var80 = ((int *) var79)[11];
            if (var80 == 0x00000001)
            {
              sceVshCommonGui_C5B53362 ();
            }
            else
            {
              var81 = var72 + 0xFFFFFFF3;
              goto label38;
            }
          }
          var86 = *((int *) 0x00020E80);
          goto label95;
        }
      }
      else
      {
        if (arg1 != 0x00000005)
        {
          var2 = var1 + 0xFFFFFFFA;

        label84:
          ra = ((int *) sp)[3];
          if (!(((var2 < 0x00000008)) == 0x00000000))
          {
            var3 = ((int *) ((var2 << 0x00000002) + 0x0001DDD4))[0];
            switch () {
            case 0:
            case 2:
            case 4:
            case 7:
              var4 = *((int *) 0x00020E84);
              var5 = ((int *) var4)[41];
              ((int *) var4)[12] = 0x00000002;
              var8 = scePaf_EAA5AFF6 (var5, 0x0000006F);

            label90:
              sceVshCommonGui_A1C3DDD6 ();
              var11 = *((int *) 0x00020E80);
              scePaf_F609FA81 (var11, 0x0001DDA0, 0x00000000, 0x00000000);
              var14 = *((int *) 0x00020E80);
              goto label95;
            case 1:
            case 3:
            case 5:
            case 6:
              var20 = *((int *) 0x00020E84);
              ((int *) var20)[12] = 0x00000001;
              goto label90;
            }
          }
        }
        else
        {
          var33 = *((int *) 0x00020E84);
          var36 = sub_1228C (var33, 0x00000001);
          var39 = sub_04378 ();
          var40 = *((int *) 0x00020E84);
          var41 = var39;
          var44 = sub_1228C (var40, 0x00000000);
          ra = ((int *) sp)[3];
          if (!(((var41 < 0x00000006)) == 0x00000000))
          {
            var45 = ((int *) ((var41 << 0x00000002) + 0x0001DDF4))[0];
            switch () {
            case 0:
              sub_07CF0 (0x0000000E, 0x00000000);
              ra = ((int *) sp)[3];
              goto label98;
            goto label97;
            case 2:
              var48 = *((int *) 0x00020E84);
              var49 = 0x00000000;

            label64:
              sub_0FA78 (var48, var49);
              ra = ((int *) sp)[3];
              goto label98;
            case 3:
              var48 = *((int *) 0x00020E84);
              var49 = 0x00000007;
              goto label64;
            case 4:
              var48 = *((int *) 0x00020E84);
              var49 = 0x00000003;
              goto label64;
            case 5:
              var52 = *((int *) 0x00020E84);
              ((int *) var52)[17] = 0x0000000E;
              ((int *) var52)[18] = 0x00000000;
              sub_092FC (0x00000001);
              ra = ((int *) sp)[3];
              goto label98;
            }
          }
        }
      }
    }
    else
    {
      if (arg1 == 0x00000002)
      {
        var21 = *((int *) 0x00020E84);
        var22 = ((unsigned char *) var21)[100];
        if (var22 == 0x00000000)
        {
          var30 = ((int *) var21)[41];
          __asm__ ("lwc1       $fpr12, -10792($v0);");
          scePaf_33096E46 (var30, 0x00000078, 0x00007480, var30);
          var21 = *((int *) 0x00020E84);
        }
        ((char *) var21)[100] = 0x00000001;
        ((int *) var21)[23] = 0x00000001;
        sub_11DE4 (var21);
        var25 = *((int *) 0x00020E84);
        var26 = ((unsigned char *) var25)[103];
        ra = ((int *) sp)[3];
        if (!(var26 != 0x00000000))
        {
          sub_09F34 (0x00000003);
          goto label82;
        }
      }
      else
      {
        var2 = var1 + 0xFFFFFFFA;
        goto label84;
      }
    }
  }

label98:
  var17 = ((int *) sp)[2];
  var18 = ((int *) sp)[1];
  var19 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 16($sp);");
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000A548
 */
void sub_0A548 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[41];
  var3 = ((int *) var1)[9];
  var4 = ((int *) var2)[0];
  ((int *) var1)[9] = (var3 | 0x0000000C);
  var5 = ((int *) var4)[46];
  var8 var9 = (*var5) (var2, 0x00000000, 0x00000000, var4, arg5, arg6, arg7, arg8);
  var10 = *((int *) 0x00020E84);
  var11 = ((int *) var10)[202];
  var12 = ((int *) var11)[24];
  var15 var16 = (*var12) ();
  ((int *) var10)[10] = var15;
  ra = ((int *) sp)[2];
  var17 = ((int *) sp)[1];
  var18 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000A5B0
 */
void sub_0A5B0 ()
{
  var1 = *((int *) 0x00020E84);
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_0C4A4 (var1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000A5D4
 */
void sub_0A5D4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[41];
  scePaf_28F8DE83 (var2, arg1, arg2);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000A604
 */
void sub_0A604 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (arg1 == 0x00000003)
  {
    var1 = *((int *) 0x00020E84);
    var2 = 0x00000004;

  label12:
    var5 = sub_0C8E4 (var1, var2);
    ra = ((int *) sp)[0];
  }
  else
  {
    if (((arg1 < 0x00000004)) == 0x00000000)
    {
      if (arg1 != 0x00000004)
      {

      label16:
        ra = ((int *) sp)[0];
      }
      else
      {
        var1 = *((int *) 0x00020E84);
        var2 = 0x00000008;
        goto label12;
      }
    }
    else
    {
      if (arg1 == 0x00000002)
      {
        var1 = *((int *) 0x00020E84);
        var2 = 0x00000001;
        goto label12;
      }
      else
      {
        goto label16;
      }
    }
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000A67C
 */
void sub_0A67C (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (arg1 == 0x00000002)
  {
    var1 = *((int *) 0x00020E84);
    var2 = 0x00000002;

  label15:
    var5 = sub_0C8E4 (var1, var2);
    ra = ((int *) sp)[0];
  }
  else
  {
    if (((arg1 < 0x00000003)) == 0x00000000)
    {
      if (arg1 == 0x00000003)
      {
        var1 = *((int *) 0x00020E84);
        var2 = 0x00000005;
        goto label15;
      }
      else
      {
        if (arg1 != 0x00000004)
        {

        label19:
          ra = ((int *) sp)[0];
        }
        else
        {
          var1 = *((int *) 0x00020E84);
          var2 = 0x00000009;
          goto label15;
        }
      }
    }
    else
    {
      if (arg1 == 0x00000001)
      {
        var1 = *((int *) 0x00020E84);
        var2 = 0x00000000;
        goto label15;
      }
      else
      {
        goto label19;
      }
    }
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000A70C
 */
void sub_0A70C ()
{
  var1 = "ex_fcs_cnf_save_energy";
  __asm__ ("lwc1       $fpr00, -2452($v0);");
  __asm__ ("swc1       $fpr12, -2452($v0);"
    : 
    : "=r"("ex_fcs_cnf_save_energy"));
  return;
}

/**
 * Subroutine at address 0x0000A71C
 */
void sub_0A71C (int arg1)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[5] = s1;
  ((int *) sp)[6] = s2;
  ((int *) sp)[7] = ra;
  ((int *) sp)[4] = s0;
  __asm__ ("swc1       $fpr21, 36($sp);"
           "swc1       $fpr20, 32($sp);"
    : 
    : "=r"(sp));
  var1 = *((int *) 0x00020E84);
  var2 = ((unsigned char *) var1)[156];
  if (var2 != 0x00000000)
  {

  label96:
    ra = ((int *) sp)[7];
  }
  else
  {
    if (((arg1 < 0x00000010)) == 0x00000000)
    {
      ra = ((int *) sp)[7];
    }
    else
    {
      var3 = ((int *) ((arg1 << 0x00000002) + 0x0001DE34))[0];
      switch () {
      case 0:
        var4 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr20, -10780($v0);");
        __asm__ ("mtc1       $zr, $fpr14;");
        var5 = ((int *) var4)[41];
        __asm__ ("lwc1       $fpr13, -2452($s0);");
        __asm__ ("mov.s      $fpr12, $fpr20;");
        scePaf_566BC690 (var5);
        var8 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var9 = ((int *) var8)[41];
        __asm__ ("lwc1       $fpr00, -10776($v0);");
        var10 = ((int *) var9)[0];
        __asm__ ("lwc1       $fpr13, 4($sp);"
                 "swc1       $fpr00, 0($sp);"
          : 
          : "=r"(sp));
        var11 = ((int *) var10)[49];
        __asm__ ("lwc1       $fpr12, -2452($s0);");
        ((int *) sp)[2] = 0x00000000;
        var12 = sp;
        __asm__ ("swc1       $fpr20, 12($sp);"
          : 
          : "=r"(sp));
        var15 var16 = (*var11) (var9, 0x01000001, 0x00000004, var12, var10);
        var17 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr12, -2452($s0);");
        var18 = ((int *) var17)[41];
        scePaf_BECD1827 (var18);
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "lwc1       $fpr00, -10772($v0);");
        ((int *) sp)[0] = 0x00000000;
        var21 = sp;
        __asm__ ("mul.s      $fpr12, $fpr12, $fpr00;");
        var22 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr13, 0($sp);");
        var23 = ((int *) var22)[41];
        __asm__ ("swc1       $fpr20, 12($sp);"
                 "swc1       $fpr13, 4($sp);"
          : 
          : "=r"(sp));
        __asm__ ("swc1       $fpr13, 8($sp);"
          : 
          : "=r"(sp));
        scePaf_9D496842 (var23, var21, 0x00000000);
        var26 = *((int *) 0x00020E84);

      label95:
        ((int *) var26)[21] = arg1;
        goto label96;
      case 1:
        var30 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr20, -10780($v0);");
        var31 = ((int *) var30)[41];
        __asm__ ("mtc1       $zr, $fpr14;"
                 "lwc1       $fpr13, -2452($s0);");
        __asm__ ("mov.s      $fpr12, $fpr20;");
        scePaf_566BC690 (var31);
        var34 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var35 = sp;
        var36 = ((int *) var34)[41];
        __asm__ ("lwc1       $fpr00, -10768($v0);");
        var37 = ((int *) var36)[0];
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "swc1       $fpr00, 0($sp);"
          : 
          : "=r"(sp));
        var38 = ((int *) var37)[49];
        __asm__ ("lwc1       $fpr13, 4($sp);");
        ((int *) sp)[2] = 0x00000000;
        __asm__ ("swc1       $fpr20, 12($sp);"
          : 
          : "=r"(sp));
        var41 var42 = (*var38) (var36, 0x01000001, 0x00000004, var35, var37);
        var43 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr21, -10764($v0);");
        var44 = ((int *) var43)[41];
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "mtc1       $zr, $fpr14;");
        __asm__ ("mov.s      $fpr13, $fpr21;");
        scePaf_8B439A23 (var44);
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "lwc1       $fpr00, -10772($v0);");
        ((int *) sp)[0] = 0x00000000;
        var47 = sp;
        __asm__ ("mul.s      $fpr12, $fpr12, $fpr00;");
        var48 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr13, 0($sp);");
        var49 = ((int *) var48)[41];
        __asm__ ("swc1       $fpr13, 4($sp);"
                 "swc1       $fpr13, 8($sp);"
          : 
          : "=r"(sp));
        __asm__ ("swc1       $fpr20, 12($sp);"
          : 
          : "=r"(sp));
        scePaf_9D496842 (var49, var47, 0x00000000);
        var52 = sp;
        var53 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var54 = ((int *) var53)[41];
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "lwc1       $fpr13, 4($sp);");
        var55 = ((int *) var54)[206];
        var56 = ((int *) var54)[216];
        __asm__ ("swc1       $fpr21, 0($sp);"
          : 
          : "=r"(sp));
        var57 = ((int *) (var56 + (var55 << 0x00000002)))[0];

      label82:
        __asm__ ("swc1       $fpr20, 12($sp);"
                 "swc1       $fpr13, 8($sp);"
          : 
          : "=r"(sp));

      label83:
        scePaf_51FF9D24 (var57, var52);
        var26 = *((int *) 0x00020E84);
        goto label95;
      case 2:
        var60 = *((int *) 0x00020E84);
        __asm__ ("mtc1       $zr, $fpr12;");
        var61 = ((int *) var60)[41];
        __asm__ ("lwc1       $fpr13, -2452($s0);");
        __asm__ ("mov.s      $fpr14, $fpr12;");
        scePaf_566BC690 (var61);
        var64 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr20, -10780($v1);");
        var65 = ((int *) var64)[41];
        __asm__ ("lwc1       $fpr00, -10760($v0);");
        var66 = ((int *) var65)[0];
        ((int *) sp)[1] = 0x00000000;
        __asm__ ("swc1       $fpr00, 0($sp);"
          : 
          : "=r"(sp));
        var67 = ((int *) var66)[49];
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "lwc1       $fpr13, 4($sp);");
        ((int *) sp)[2] = 0x00000000;
        var68 = sp;
        __asm__ ("swc1       $fpr20, 12($sp);"
          : 
          : "=r"(sp));
        var71 var72 = (*var67) (var65, 0x01000001, 0x00000004, var68);
        var73 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr13, -10764($v0);");
        var74 = ((int *) var73)[41];
        __asm__ ("mtc1       $zr, $fpr14;");
        __asm__ ("lwc1       $fpr12, -2452($s0);");
        scePaf_8B439A23 (var74);
        var77 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var78 = sp;
        var79 = ((int *) var77)[41];
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "lwc1       $fpr13, 4($sp);");
        var80 = ((int *) var79)[206];
        var81 = ((int *) var79)[216];
        __asm__ ("lwc1       $fpr00, -10756($v0);");
        var82 = ((int *) (var81 + (var80 << 0x00000002)))[0];
        __asm__ ("swc1       $fpr00, 0($sp);"
          : 
          : "=r"(sp));
        goto label82;
      case 3:
        sub_0A71C (0x00000002);
        __asm__ ("lwc1       $fpr21, -10748($v0);"
                 "lwc1       $fpr14, -2452($s0);");
        var85 = *((int *) 0x00020E84);
        __asm__ ("mtc1       $zr, $fpr12;"
                 "div.s      $fpr14, $fpr14, $fpr21;");
        var86 = ((int *) var85)[41];
        __asm__ ("lwc1       $fpr13, -10752($v0);");
        scePaf_566BC690 (var86);
        var89 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var90 = sp;
        __asm__ ("lwc1       $fpr20, -10780($v0);");
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "lwc1       $fpr00, -10744($v0);");
        var91 = ((int *) var89)[41];
        __asm__ ("lwc1       $fpr13, 4($sp);");
        __asm__ ("swc1       $fpr00, 0($sp);"
                 "swc1       $fpr13, 8($sp);"
          : 
          : "=r"(sp));
        __asm__ ("swc1       $fpr20, 12($sp);"
          : 
          : "=r"(sp));
        scePaf_9D496842 (var91, var90, 0x00000000);
        var94 = sp;
        __asm__ ("lwc1       $fpr12, -2452($s0);");
        var95 = *((int *) 0x00020E84);
        __asm__ ("swc1       $fpr20, 12($sp);"
                 "add.s      $fpr13, $fpr12, $fpr12;"
          : 
          : "=r"(sp));
        var96 = ((int *) var95)[41];
        __asm__ ("div.s      $fpr13, $fpr13, $fpr21;");
        var97 = ((int *) var96)[206];
        var98 = ((int *) var96)[216];
        __asm__ ("lwc1       $fpr00, -10740($v0);");
        __asm__ ("swc1       $fpr00, 0($sp);"
          : 
          : "=r"(sp));
        var99 = ((int *) (var98 + (var97 << 0x00000002)))[0];
        ((int *) sp)[1] = 0x00000000;
        ((int *) sp)[2] = 0x00000000;
        goto label83;
      case 4:
        var100 = *((int *) 0x00020E84);
        __asm__ ("mtc1       $zr, $fpr12;");
        var101 = ((int *) var100)[41];
        __asm__ ("lwc1       $fpr13, -10764($v0);");
        __asm__ ("mov.s      $fpr14, $fpr12;");
        scePaf_8B439A23 (var101);
        var104 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var105 = ((int *) var104)[41];
        __asm__ ("lwc1       $fpr00, -10736($v0);");

      label55:
        var106 = ((int *) var105)[0];
        __asm__ ("swc1       $fpr00, 0($sp);"
          : 
          : "=r"(sp));
        __asm__ ("lwc1       $fpr00, -10780($v0);");
        ((int *) sp)[2] = 0x00000000;
        var107 = sp;
        __asm__ ("swc1       $fpr00, 12($sp);"
          : 
          : "=r"(sp));
        var108 = ((int *) var106)[49];
        __asm__ ("lwc1       $fpr12, -2452($v1);");

      label56:
        __asm__ ("lwc1       $fpr13, 4($sp);");
        var111 var112 = (*var108) (var105, 0x01000001, 0x00000004, var107, var106);
        var26 = *((int *) 0x00020E84);
        goto label95;
      case 5:
        var113 = *((int *) 0x00020E84);
        __asm__ ("mtc1       $zr, $fpr12;");
        var114 = ((int *) var113)[41];
        __asm__ ("lwc1       $fpr13, -10756($v0);");
        __asm__ ("mov.s      $fpr14, $fpr12;");
        scePaf_8B439A23 (var114);
        var117 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var105 = ((int *) var117)[41];
        __asm__ ("lwc1       $fpr00, -10732($v0);");
        goto label55;
      case 6:
        var118 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr12, -10728($v1);");
        var119 = ((int *) var118)[41];
        var120 = ((int *) var119)[206];
        var121 = ((int *) var119)[216];
        var122 = ((int *) (var121 + (var120 << 0x00000002)))[0];
        scePaf_9430557B (var122);
        var125 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr20, -10772($v0);");
        var126 = ((int *) var125)[41];
        __asm__ ("lwc1       $fpr13, -2452($s0);"
                 "mtc1       $zr, $fpr14;");
        __asm__ ("mov.s      $fpr12, $fpr20;");
        scePaf_68569AAC (var126);
        var129 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr13, -2452($s0);"
                 "mtc1       $zr, $fpr14;");
        var130 = ((int *) var129)[41];
        __asm__ ("mov.s      $fpr12, $fpr20;");
        scePaf_7435C5D5 (var130);
        var133 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var134 = ((int *) var133)[41];
        __asm__ ("lwc1       $fpr00, -10724($v0);");

      label48:
        var135 = ((int *) var134)[0];
        __asm__ ("swc1       $fpr00, 0($sp);"
          : 
          : "=r"(sp));
        __asm__ ("lwc1       $fpr00, -10780($v0);"
                 "lwc1       $fpr12, -2452($s0);");
        var108 = ((int *) var135)[49];
        var136 = sp;
        __asm__ ("swc1       $fpr00, 12($sp);"
          : 
          : "=r"(sp));
        ((int *) sp)[2] = 0x00000000;
        goto label56;
      case 7:
        __asm__ ("lwc1       $fpr14, -2452($s0);"
                 "lwc1       $fpr13, -10720($v1);");
        __asm__ ("lwc1       $fpr00, -10748($v0);"
                 "mul.s      $fpr13, $fpr14, $fpr13;");
        var137 = *((int *) 0x00020E84);
        __asm__ ("div.s      $fpr14, $fpr14, $fpr00;"
                 "mtc1       $zr, $fpr12;");
        var138 = ((int *) var137)[41];
        __asm__ ("div.s      $fpr13, $fpr13, $fpr00;");
        scePaf_566BC690 (var138);
        var141 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var134 = ((int *) var141)[41];
        __asm__ ("lwc1       $fpr00, -10760($v0);");
        goto label48;
      case 8:
        __asm__ ("lwc1       $fpr14, -2452($s0);"
                 "lwc1       $fpr13, -10720($v1);");
        __asm__ ("lwc1       $fpr00, -10748($v0);"
                 "mul.s      $fpr13, $fpr14, $fpr13;");
        var142 = *((int *) 0x00020E84);
        __asm__ ("div.s      $fpr14, $fpr14, $fpr00;"
                 "mtc1       $zr, $fpr12;");
        var143 = ((int *) var142)[41];
        __asm__ ("div.s      $fpr13, $fpr13, $fpr00;");
        scePaf_566BC690 (var143);
        var146 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var134 = ((int *) var146)[41];
        __asm__ ("lwc1       $fpr00, -10716($v0);");
        goto label48;
      case 9:
        var147 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var105 = ((int *) var147)[41];
        __asm__ ("lwc1       $fpr00, -10712($v0);");
        goto label55;
      case 10:
        var148 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var105 = ((int *) var148)[41];
        __asm__ ("lwc1       $fpr00, -10708($v0);");
        goto label55;
      case 11:
        var149 = *((int *) 0x00020E84);
        ((int *) sp)[1] = 0x00000000;
        var105 = ((int *) var149)[41];
        __asm__ ("lwc1       $fpr00, -10704($v0);");
        goto label55;
      case 12:
        var150 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "mtc1       $zr, $fpr13;");
        var151 = ((int *) var150)[41];
        scePaf_30F5E7DF (var151);
        var154 = *((int *) 0x00020E84);
        var155 = ((int *) var154)[21];
        var156 = ((int *) var154)[41];
        if ((((0x00000000 < var155)) & ((0x00000000 < (var155 ^ 0x00000006)))) == 0x00000000)
        {
          __asm__ ("mtc1       $zr, $fpr12;");
          var166 = ((int *) var156)[206];
          var167 = ((int *) var156)[216];
          __asm__ ("mov.s      $fpr13, $fpr12;");

        label22:
          var168 = ((int *) (var167 + (var166 << 0x00000002)))[0];
          __asm__ ("mov.s      $fpr14, $fpr12;");
          scePaf_11361F12 (var168);
          ra = ((int *) sp)[7];
        }
        else
        {
          __asm__ ("lwc1       $fpr13, -2452($s0);"
                   "mtc1       $zr, $fpr14;");
          var157 = ((int *) var156)[206];
          var158 = ((int *) var156)[216];
          var159 = ((int *) (var158 + (var157 << 0x00000002)))[0];
          __asm__ ("lwc1       $fpr12, -10780($v0);");
          scePaf_11361F12 (var159);
          var162 = *((int *) 0x00020E84);
          var163 = ((int *) var162)[21];
          if (var163 != 0x00000003)
          {
            ra = ((int *) sp)[7];
          }
          else
          {
            sub_0A71C (0x00000003);
            ra = ((int *) sp)[7];
          }
        }
      case 13:
        var171 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr12, -2452($s0);"
                 "mtc1       $zr, $fpr13;");
        var172 = ((int *) var171)[41];
        scePaf_76491EEA (var172);
        var175 = *((int *) 0x00020E84);

      label15:
        var176 = ((int *) var175)[21];
        if ((((0x00000000 < var176)) & ((0x00000000 < (var176 ^ 0x00000006)))) == 0x00000000)
        {
          ra = ((int *) sp)[7];
        }
        else
        {
          var177 = ((int *) var175)[41];
          __asm__ ("lwc1       $fpr13, -2452($s0);"
                   "mtc1       $zr, $fpr12;");
          var166 = ((int *) var177)[206];
          var167 = ((int *) var177)[216];
          goto label22;
        }
      case 14:
        var178 = *((int *) 0x00020E84);
        __asm__ ("lwc1       $fpr13, -2452($s0);");
        var179 = ((int *) var178)[41];
        __asm__ ("mtc1       $zr, $fpr14;");
        __asm__ ("lwc1       $fpr12, -10700($v0);");
        scePaf_7771BC86 (var179);
        var175 = *((int *) 0x00020E84);
        goto label15;
      case 15:
        var182 = *((int *) 0x00020E84);
        __asm__ ("mtc1       $zr, $fpr12;"
                 "lwc1       $fpr13, -2452($v0);");
        var183 = ((int *) var182)[41];
        __asm__ ("mov.s      $fpr14, $fpr12;");
        scePaf_7435C5D5 (var183);
        ra = ((int *) sp)[7];
        goto label97;
      }
    }
  }

label97:
  var27 = ((int *) sp)[6];
  var28 = ((int *) sp)[5];
  var29 = ((int *) sp)[4];
  __asm__ ("lwc1       $fpr21, 36($sp);"
           "lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0000AE74
 */
void sub_0AE74 ()
{
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[21];
  return;
}

/**
 * Subroutine at address 0x0000AE84
 */
void sub_0AE84 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var1 = 0x00000000;
  ((int *) sp)[0] = s0;
  var2 = arg1;
  __asm__ ("swc1       $fpr20, 32($sp);"
           "mov.s      $fpr20, $fpr12;"
    : 
    : "=r"(sp));
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  if (arg1 == 0x00000002)
  {
    if (arg2 != 0x00000000)
    {
      if (!(arg2 != 0x00000001))
      {
        var1 = 0x0000000C;
      }
    }
    else
    {
      var25 = *((int *) 0x00020E84);
      var26 = ((int *) var25)[65];
      var1 = ((0x00000000 - ((0x00000000 < (var26 ^ 0x00000001)))) & 0xFFFFFFFE) + 0x0000000D;
    }

  label17:
    var8 = *((int *) 0x00020E84);
    var11 = sub_0CA5C (var8, var1, var2);
    if (!(var11 < 0))
    {
      __asm__ ("lwc1       $fpr00, -10696($v0);"
               "c.eq.s     $fpr20, $fpr00;");
      __asm__ ("bc1f       0x0000AF7C;");
      var12 = *((int *) 0x00020E84);
      {
        __asm__ ("mov.s      $fpr12, $fpr20;");
        var21 = ((int *) var12)[41];
        scePaf_F4404EAF (var21, var2);
        var24 = *((int *) 0x00020E84);
        ((int *) var24)[20] = var1;
      }
      else
      {
        var13 = *((int *) 0x00020E84);
        var14 = ((int *) var13)[41];
        scePaf_D63D4561 (var14, var2);
        var17 = *((int *) 0x00020E84);
        var18 = ((int *) var17)[42];
        if ((((0x00000000 < var18)) & ((arg2 < 0x00000001))) != 0x00000000)
        {
          sceVshCommonGui_A939DDF9 (var18, 0x00000000);
          var17 = *((int *) 0x00020E84);
        }
        ((int *) var17)[20] = 0xFFFFFFFF;
      }
    }

  label31:
    ra = ((int *) sp)[5];
  }
  else
  {
    if (((arg1 < 0x00000003)) == 0x00000000)
    {
      ra = ((int *) sp)[5];
      if (!(arg1 != 0x00000003))
      {
        if (arg2 != 0x00000000)
        {
          if (!(arg2 != 0x00000001))
          {
            var1 = 0x0000000F;
          }
        }
        else
        {
          var1 = 0x0000000E;
        }
        goto label17;
      }
    }
    else
    {
      if (arg1 == 0x00000001)
      {
        if (arg2 == arg1)
        {
          var1 = 0x0000000A;
        }
        goto label17;
      }
      goto label31;
    }
  }
  var3 = ((int *) sp)[4];
  var4 = ((int *) sp)[3];
  var5 = ((int *) sp)[2];
  var6 = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0000B00C
 */
void sub_0B00C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[8] = s0;
  ((int *) sp)[9] = ra;
  var1 = arg1;
  __asm__ ("lwc1       $fpr00, -10692($a2);");
  ((int *) arg1)[0] = 0x00000000;
  __asm__ ("swc1       $fpr00, 12($a0);"
    : 
    : "=r"(arg1));
  ((int *) arg1)[1] = 0x00000000;
  ((int *) arg1)[2] = 0x00000000;
  if (!(((arg2 < 0x00000007)) == 0x00000000))
  {
    var2 = ((int *) ((arg2 << 0x00000002) + 0x0001DE74))[0];
    switch () {
    case 0:
      __asm__ ("lwc1       $fpr00, -10688($v0);");

    label11:
      __asm__ ("swc1       $fpr00, 0($s0);"
        : 
        : "=r"(var1));
      goto label12;
    case 1:
    case 3:
      __asm__ ("lwc1       $fpr00, -10684($v0);");
      goto label11;
    case 2:
      __asm__ ("lwc1       $fpr00, -10680($v0);");
      goto label11;
    case 4:
      __asm__ ("lwc1       $fpr00, -10676($v0);");
      goto label11;
    goto label12;
    case 6:
      var4 = *((int *) 0x00020E84);
      __asm__ ("lwc1       $fpr00, -10692($a2);");
      var5 = sp;
      var6 = ((int *) var4)[41];
      var7 = sp + 0x00000010;
      __asm__ ("swc1       $fpr00, 28($sp);"
        : 
        : "=r"(sp));
      ((int *) sp)[4] = 0x00000000;
      ((int *) sp)[5] = 0x00000000;
      ((int *) sp)[6] = 0x00000000;
      scePaf_0AEDCDA1 (var5, var6, 0x00000000, var7);
      var10 = ((int *) sp)[1];
      var11 = ((int *) sp)[2];
      var12 = ((int *) sp)[3];
      var13 = ((int *) sp)[0];
      ((int *) var1)[1] = var10;
      ((int *) var1)[0] = var13;
      ((int *) var1)[2] = var11;
      ((int *) var1)[3] = var12;
      goto label12;
    }
  }
case 5:

label12:
  ra = ((int *) sp)[9];
  var3 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0000B0F0
 */
void sub_0B0F0 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[41];
  var3 = ((int *) var2)[206];
  var4 = 0x00000004;
  if (!(var3 == 0x00000003))
  {
    var4 = 0x00000008;
    if (!(((var3 < 0x00000004)) == 0x00000000))
    {
      var4 = 0x00000001;
      if (!(var3 == 0x00000002))
      {
        var4 = 0x00000008;
      }
    }
  }
  sub_11B04 (arg1, var1, var4);
  ra = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B158
 */
void sub_0B158 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = 0x00000004;
  var2 = arg1;
  ((int *) sp)[1] = ra;
  if (!(arg2 == 0x00000003))
  {
    if (((arg2 < 0x00000004)) == 0x00000000)
    {
      var3 = 0x00000004;
      var1 = 0x00000008;
    }
    else
    {
      var3 = 0x00000002;
      var1 = 0x00000001;
    }
    if (arg2 != var3)
    {
      var1 = 0xFFFFFC0E;
    }
  }
  var4 = *((int *) 0x00020E84);
  sub_11B04 (var2, var4, var1);
  ra = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B1BC
 */
void sub_0B1BC (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  var1 = arg1 & 0x000000FF;
  ((int *) sp)[0] = ra;
  if (!(var1 != 0x00000000))
  {
    var2 = *((int *) 0x00020E84);
    var3 = ((int *) var2)[9];
    ((int *) var2)[9] = (var3 | 0x00000002);
  }
  var4 = *((int *) 0x00020E84);
  sub_12304 (var4, var1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B248
 */
void sub_0B248 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  *((int *) 0x00020E80) = arg1;
  var3 = scePaf_D4FAE7D0 ("system_plugin");
  if (!(var3 == 0x00000000))
  {
    var6 = scePaf_338C3774 (var3, 0x00000001);
    if (!(var6 == 0x00000000))
    {
      var7 = ((int *) var6)[7];
      var8 = *((int *) 0x00020E80);
      var11 var12 = (*var7) (var8);
      var13 = ((int *) var6)[8];
      var14 = *((int *) 0x00020E80);
      var17 var18 = (*var13) (var14);
    }
  }
  var19 = *((int *) 0x00020E80);
  ((int *) var19)[47] = 0x00000000;
  ((int *) var19)[48] = 0x00000000;
  ((int *) var19)[46] = 0x00000000;
  ((int *) var19)[41] = 0x00000000;
  scePaf_986FEBD1 (var19, 0x0001F670);
  var22 = *((int *) 0x00020E80);
  scePaf_72129CFB (var22, 0x00000001, 0x0001F718);
  ra = ((int *) sp)[2];
  var25 = ((int *) sp)[1];
  var26 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B2F0
 */
void sub_0B2F0 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E80);
  ((int *) sp)[2] = ra;
  scePaf_F609FA81 (var1, 0x0001D760, 0x00000002, 0x00000000);
  var4 = *((int *) 0x00020E80);
  scePaf_F609FA81 (var4, "page_content_info_bg", 0x00000002, 0x00000000);
  var7 = *((int *) 0x00020E80);
  scePaf_F609FA81 (var7, "page_content_info_fg", 0x00000002, 0x00000000);
  var10 = *((int *) 0x00020E80);
  scePaf_CAF05F1D (var10, 0x0001D760);
  ra = ((int *) sp)[2];
  var13 = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B370
 */
void sub_0B370 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[1] = ra;
  if (var1 != 0x00000000)
  {
    sub_0BFDC (var1);
    scePaf_4E67BB08 (var1);
    ra = ((int *) sp)[1];
  }
  else
  {
    ra = ((int *) sp)[1];
  }
  var2 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B3B4
 */
void sub_0B3B4 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[0];
  if (!(var1 == 0x00000000))
  {
    scePaf_7EC15225 (var1);
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B3E4
 */
void sub_0B3E4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = 0x00000000;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  if (!(arg2 == 0x00000000))
  {
    var1 = scePaf_FD4C9F47 (arg2);
  }
  sub_0B434 (arg1, arg2, var1);
  ra = ((int *) sp)[2];
  var6 = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B434
 */
void sub_0B434 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  var1 = arg3;
  ((int *) sp)[1] = s1;
  var2 = arg2;
  ((int *) sp)[0] = s0;
  var3 = arg1;
  ((int *) sp)[4] = ra;
  var4 = ((int *) arg1)[0];
  if (!(var4 == 0x00000000))
  {
    scePaf_7EC15225 (var4);
  }
  if (var2 == 0x00000000)
  {

  label12:
    ((int *) var3)[0] = 0x00000000;
    ((int *) var3)[1] = 0x00000000;
  }
  else
  {
    var7 = ((unsigned short *) var2)[0];
    var8 = var1 << 0x00000001;
    if (!(var7 != 0x00000000))
      goto label12;
    var15 = scePaf_FCB4E053 (((var1 + 0x00000001) << 0x00000001));
    ((int *) var3)[0] = var15;
    ((int *) var3)[1] = var1;
    scePaf_F95EA3F1 (var15, var2, var8);
    var18 = ((int *) var3)[0];
    ((short *) (var8 + var18))[0] = 0x00000000;
  }
  ra = ((int *) sp)[4];
  var9 = ((int *) sp)[3];
  var10 = ((int *) sp)[2];
  var11 = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000B4E8
 */
void sub_0B4E8 (int arg1)
{
  ((int *) arg1)[0] = 0x0001DEC0;
  return;
}

/**
 * Subroutine at address 0x0000B4F8
 */
void sub_0B4F8 (int arg1)
{
  ((int *) arg1)[0] = 0x0001DEC0;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  scePaf_4E67BB08 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000B9D4
 */
void sub_0B9D4 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFF80;
  ((int *) sp)[21] = s1;
  var1 = arg1;
  ((int *) arg1)[24] = 0xFFFFFC13;
  ((char *) var1)[112] = 0x00000001;
  ((int *) var1)[41] = arg3;
  ((int *) var1)[22] = 0x00000001;
  ((int *) var1)[23] = 0x00000001;
  ((int *) var1)[0] = 0x00000000;
  ((int *) var1)[21] = 0x00000000;
  ((char *) var1)[100] = 0x00000000;
  ((char *) var1)[101] = 0x00000000;
  ((char *) var1)[102] = 0x00000000;
  ((char *) var1)[103] = 0x00000000;
  ((char *) var1)[104] = 0x00000000;
  ((int *) var1)[27] = 0x00000000;
  ((char *) var1)[113] = 0x00000000;
  ((char *) var1)[156] = 0x00000000;
  ((char *) var1)[157] = 0x00000000;
  ((int *) var1)[40] = 0x00000000;
  ((int *) var1)[42] = 0x00000000;
  ((int *) sp)[25] = s5;
  var2 = arg1 + 0x000000C8;
  ((int *) sp)[26] = s6;
  var3 = var1 + 0x000001F8;
  ((int *) sp)[29] = ra;
  ((int *) sp)[24] = s4;
  ((int *) sp)[23] = s3;
  var4 = 0x00000004;
  ((int *) sp)[22] = s2;
  var5 = var1 + 0x0000034C;
  ((int *) sp)[20] = s0;
  ((int *) sp)[28] = fp;
  ((int *) sp)[27] = s7;
  sub_13330 (var2);
  sub_13330 (var3);
  ((int *) var1)[210] = arg2;
  ((int *) var1)[202] = 0x00000000;
  ((int *) var1)[203] = 0x00000000;
  ((int *) var1)[204] = 0x00000000;
  ((int *) var1)[205] = 0x00000000;
  ((int *) var1)[206] = 0x00000000;
  while (1) {
    var10 = sp;
    var4 = var4 + 0xFFFFFFFF;
    sub_1351C (var5);
    var5 = var5 + 0x0000000C;
    if (var4 != 0xFFFFFFFF)
      continue;
    break;
  }
  ((int *) var1)[227] = 0x00000001;
  ((char *) var1)[904] = 0x00000000;
  ((char *) var1)[905] = 0x00000000;
  ((char *) var1)[906] = 0x00000000;
  ((int *) var1)[228] = 0x00000000;
  scePaf_6829D7AF ((var1 + 0x00000024), 0x00000000, 0x00000030);
  vsh_741C9BE1 (0x00000009, (var1 + 0x0000033C), 0x0000000C);
  var19 = scePaf_D4FAE7D0 ("system_plugin");
  ((int *) var1)[40] = var19;
  if (var19 != 0x00000000)
  {
    var47 = sp + 0x00000010;
    scePaf_DC2CA0F7 (var47, var19, "tex_playing");
    var50 = ((int *) var1)[40];
    var51 = sp + 0x00000020;
    scePaf_DC2CA0F7 (var51, var50, "tex_playing_shadow");
    __asm__ ("lwc1       $fpr00, -7080($s7);"
             "lwc1       $fpr01, -7092($v1);"
             "lwc1       $fpr02, -7088($fp);"
             "lwc1       $fpr03, -7084($v0);");
    var54 = ((int *) var1)[41];
    var55 = sp + 0x00000030;
    var56 = sp + 0x00000040;
    __asm__ ("swc1       $fpr01, 48($sp);"
             "swc1       $fpr02, 52($sp);"
             "swc1       $fpr03, 60($sp);"
             "swc1       $fpr00, 76($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[14] = 0x00000000;
    __asm__ ("swc1       $fpr00, 64($sp);"
             "swc1       $fpr00, 68($sp);"
      : 
      : "=r"(sp));
    __asm__ ("swc1       $fpr00, 72($sp);"
      : 
      : "=r"(sp));
    scePaf_04EF78CD (var54, 0x00000001, var47, var51, var55, var56, 0x0000003C, 0x0000001E);
    var59 = ((int *) sp)[8];
    if (var59 == 0x00000000)
    {
      var62 = ((int *) sp)[4];
    }
    else
    {
      var60 = ((int *) var59)[1];
      var61 = var60 + 0xFFFFFFFF;
      ((int *) var59)[1] = var61;
      if (var61 <= 0)
      {
        var131 = ((int *) var59)[0];
        var132 = ((int *) var131)[1];
        var135 var136 = (*var132) (var59);
        var62 = ((int *) sp)[4];
      }
      else
      {
        var62 = ((int *) sp)[4];
      }
    }
    if (var62 == 0x00000000)
    {
      var130 = ((int *) var1)[40];
    }
    else
    {
      var63 = ((int *) var62)[1];
      var64 = var63 + 0xFFFFFFFF;
      ((int *) var62)[1] = var64;
      if (var64 <= 0)
      {
        var123 = ((int *) var62)[0];
        var124 = ((int *) var123)[1];
        var127 var128 = (*var124) (var62);
        var129 = ((int *) var1)[40];
      }
      else
      {
        var65 = ((int *) var1)[40];
      }
    }
    scePaf_DC2CA0F7 (var51, var65, "tex_playing");
    var68 = ((int *) var1)[40];
    scePaf_DC2CA0F7 (var47, var68, "tex_playing_shadow");
    __asm__ ("lwc1       $fpr00, -7080($s7);"
             "lwc1       $fpr01, -7092($v1);"
             "lwc1       $fpr02, -7088($fp);"
             "lwc1       $fpr03, -7084($v0);");
    var71 = ((int *) var1)[41];
    __asm__ ("swc1       $fpr01, 64($sp);"
             "swc1       $fpr02, 68($sp);"
             "swc1       $fpr03, 76($sp);"
             "swc1       $fpr00, 60($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[18] = 0x00000000;
    __asm__ ("swc1       $fpr00, 48($sp);"
             "swc1       $fpr00, 52($sp);"
      : 
      : "=r"(sp));
    __asm__ ("swc1       $fpr00, 56($sp);"
      : 
      : "=r"(sp));
    scePaf_04EF78CD (var71, 0x00000002, var51, var47, var56, var55, 0x0000003C, 0x0000001E);
    var74 = ((int *) sp)[4];
    if (var74 == 0x00000000)
    {
      var77 = ((int *) sp)[8];
    }
    else
    {
      var75 = ((int *) var74)[1];
      var76 = var75 + 0xFFFFFFFF;
      ((int *) var74)[1] = var76;
      if (var76 <= 0)
      {
        var117 = ((int *) var74)[0];
        var118 = ((int *) var117)[1];
        var121 var122 = (*var118) (var74);
        var77 = ((int *) sp)[8];
      }
      else
      {
        var77 = ((int *) sp)[8];
      }
    }
    if (var77 == 0x00000000)
    {
      var116 = ((int *) var1)[40];
    }
    else
    {
      var78 = ((int *) var77)[1];
      var79 = var78 + 0xFFFFFFFF;
      ((int *) var77)[1] = var79;
      if (var79 <= 0)
      {
        var109 = ((int *) var77)[0];
        var110 = ((int *) var109)[1];
        var113 var114 = (*var110) (var77);
        var115 = ((int *) var1)[40];
      }
      else
      {
        var80 = ((int *) var1)[40];
      }
    }
    scePaf_DC2CA0F7 (var51, var80, "tex_playing");
    var83 = ((int *) var1)[40];
    scePaf_DC2CA0F7 (var47, var83, "tex_playing_shadow");
    __asm__ ("lwc1       $fpr00, -7080($s7);"
             "lwc1       $fpr01, -7092($v1);"
             "lwc1       $fpr02, -7088($fp);"
             "lwc1       $fpr03, -7084($v0);");
    var86 = ((int *) var1)[41];
    __asm__ ("swc1       $fpr01, 64($sp);"
             "swc1       $fpr02, 68($sp);"
             "swc1       $fpr03, 76($sp);"
             "swc1       $fpr00, 60($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[18] = 0x00000000;
    __asm__ ("swc1       $fpr00, 48($sp);"
             "swc1       $fpr00, 52($sp);"
      : 
      : "=r"(sp));
    __asm__ ("swc1       $fpr00, 56($sp);"
      : 
      : "=r"(sp));
    scePaf_04EF78CD (var86, 0x00000003, var51, var47, var56, var55, 0x0000003C, 0x0000001E);
    var89 = ((int *) sp)[4];
    if (var89 == 0x00000000)
    {
      var92 = ((int *) sp)[8];
    }
    else
    {
      var90 = ((int *) var89)[1];
      var91 = var90 + 0xFFFFFFFF;
      ((int *) var89)[1] = var91;
      if (var91 <= 0)
      {
        var103 = ((int *) var89)[0];
        var104 = ((int *) var103)[1];
        var107 var108 = (*var104) (var89);
        var92 = ((int *) sp)[8];
      }
      else
      {
        var92 = ((int *) sp)[8];
      }
    }
    if (var92 == 0x00000000)
    {
      var102 = ((int *) var1)[40];
    }
    else
    {
      var93 = ((int *) var92)[1];
      var94 = var93 + 0xFFFFFFFF;
      ((int *) var92)[1] = var94;
      if (var94 > 0)
      {

      label76:
        var20 = ((int *) var1)[40];
      }
      else
      {
        var95 = ((int *) var92)[0];
        var96 = ((int *) var95)[1];
        var99 var100 = (*var96) (var92);
        var101 = ((int *) var1)[40];
      }
    }
  }
  else
  goto label76;
  var23 = scePaf_338C3774 (var20, 0x00000001);
  ((int *) var1)[202] = var23;
  var24 = ((int *) var1)[210];
  var27 = scePaf_338C3774 (var24, 0x00000001);
  ((int *) var1)[203] = var27;
  ((char *) var1)[905] = 0x00000000;
  sub_117CC (var1, var2);
  sub_117CC (var1, var3);
  sub_117A8 (var1);
  var34 = var1;
  var35 = 0x00000003;
  while (1) {
    var35 = var35 + 0xFFFFFFFF;
    ((int *) var34)[1] = 0x00000000;
    ((int *) var34)[2] = 0x00000000;
    var34 = var34 + 0x00000008;
    if (var35 >= 0)
      continue;
    break;
  }
  var36 = var1;
  var37 = 0x00000004;
  while (1) {
    var37 = var37 + 0xFFFFFFFF;
    ((int *) var36)[29] = 0x00000016;
    ((int *) var36)[34] = 0x00000001;
    var36 = var36 + 0x00000004;
    if (var37 >= 0)
      continue;
    break;
  }
  ra = ((int *) sp)[29];
  var38 = ((int *) sp)[28];
  var39 = ((int *) sp)[27];
  var40 = ((int *) sp)[26];
  var41 = ((int *) sp)[25];
  var42 = ((int *) sp)[24];
  var43 = ((int *) sp)[23];
  var44 = ((int *) sp)[22];
  var45 = ((int *) sp)[21];
  var46 = ((int *) sp)[20];
  sp = sp + 0x00000080;
  return;
}

/**
 * Subroutine at address 0x0000BFDC
 */
void sub_0BFDC (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[2] = s2;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var1 = ((int *) arg1)[42];
  var2 = arg1;
  if (var1 != 0x00000000)
  {
    sceVshCommonGui_57F57F40 (var1);
    scePaf_4E67BB08 (var1);
  }
  sub_11D98 (var2);
  var5 = ((int *) var2)[14];
  ((char *) var2)[828] = 0x00000001;
  ((int *) var2)[208] = (var5 >> 0x00000010);
  ((int *) var2)[209] = (var5 & 0x0000FFFF);
  vsh_2B8B7775 (0x00000009);
  var8 = var2 + 0x00000388;
  if (!(var2 == 0xFFFFFCB4))
  {
    while (1) {
      if ((var2 + 0x0000034C) == var8)
        break;
      var8 = var8 + 0xFFFFFFF4;
      sub_13558 (var8);
      continue;
    }
  }
  var11 = var2 + 0x000001F8;
  var12 = var2 + 0x00000328;
  if (!(var11 == 0xFFFFFF90))
  {
    while (1) {
      if ((var2 + 0x00000268) == var12)
        break;
      var12 = var12 + 0xFFFFFFF0;
      sub_0B3B4 ((var12 + 0x00000004));
      continue;
    }
  }
  sub_0B3B4 ((var11 + 0x0000005C));
  sub_0B3B4 ((var11 + 0x00000040));
  sub_0B3B4 ((var11 + 0x00000024));
  sub_0B3B4 ((var11 + 0x0000000C));
  var23 = var2 + 0x000000C8;
  var24 = var11;
  if (!(var23 == 0xFFFFFF90))
  {
    while (1) {
      if ((var2 + 0x00000138) == var24)
        break;
      var24 = var24 + 0xFFFFFFF0;
      sub_0B3B4 ((var24 + 0x00000004));
      continue;
    }
  }
  sub_0B3B4 ((var23 + 0x0000005C));
  sub_0B3B4 ((var23 + 0x00000040));
  sub_0B3B4 ((var23 + 0x00000024));
  sub_0B3B4 ((var23 + 0x0000000C));
  ra = ((int *) sp)[5];
  var35 = ((int *) sp)[4];
  var36 = ((int *) sp)[3];
  var37 = ((int *) sp)[2];
  var38 = ((int *) sp)[1];
  var39 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000C130
 */
void sub_0C130 (int arg1)
{
  sp = sp + 0xFFFFFFA0;
  ((int *) sp)[14] = s2;
  var1 = arg1;
  ((int *) sp)[13] = s1;
  ((int *) sp)[12] = s0;
  ((int *) sp)[21] = ra;
  ((int *) sp)[20] = fp;
  ((int *) sp)[19] = s7;
  ((int *) sp)[18] = s6;
  ((int *) sp)[17] = s5;
  ((int *) sp)[16] = s4;
  ((int *) sp)[15] = s3;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[0];
  var4 = ((int *) var3)[27];
  var5 = 0x00000000;
  var8 var9 = (*var4) (var2, 0x00FF0043, 0x00000001, arg4, arg5, arg6, arg7, arg8);
  var10 = 0x0001FC84;
  while (1) {
    var5 = var5 + 0x00000001;
    sub_0D71C (var1, 0x00000000, var5, var10);
    var10 = var10 + 0x00000088;
    if (((var5 < 0x0000000A)) != 0x00000000)
      continue;
    break;
  }
  sub_0D71C (var1, 0x00000004, 0x00000000, 0x00020504);
  sub_0D71C (var1, 0x00000004, 0x00000001, 0x0002058C);
  var17 = ((int *) var1)[41];
  var18 = ((int *) var17)[205];
  var19 = 0x00000000;
  if (!(var18 <= 0))
  {
    var20 = sp + 0x00000010;
    while (1) {
      var21 = ((int *) var1)[210];
      var22 = var19 << 0x00000006;
      var23 = sp;
      scePaf_DC2CA0F7 (var23, var21, (var22 + "tex_sdwn_system"));
      var26 = ((int *) var1)[41];
      var27 = var19 << 0x00000018;
      var28 = ((int *) var26)[0];
      var29 = ((int *) var28)[42];
      var30 = sp;
      var33 var34 = (*var29) (var26, var30, (var27 | 0x0000001E));
      var35 = ((int *) sp)[0];
      if (var35 == 0x00000000)
      {
        var159 = ((int *) var1)[210];
      }
      else
      {
        var36 = ((int *) var35)[1];
        var37 = var36 + 0xFFFFFFFF;
        ((int *) var35)[1] = var37;
        if (var37 <= 0)
        {
          var152 = ((int *) var35)[0];
          var153 = ((int *) var152)[1];
          var156 var157 = (*var153) (var35);
          var158 = ((int *) var1)[210];
        }
        else
        {
          var38 = ((int *) var1)[210];
        }
      }
      var41 = scePaf_BB3CBD19 (var38, (var22 + "msgtop_sysconf"), 0xFFFFFFFF);
      ((int *) sp)[4] = 0x00000000;
      ((int *) sp)[5] = 0x00000000;
      sub_0B3E4 (var20, var41);
      var44 = ((int *) var1)[41];
      var45 = ((int *) var44)[0];
      var46 = ((int *) var45)[44];
      var49 var50 = (*var46) (var44, var20, (var27 | 0x00000027));
      sub_0B3B4 (var20);
      var53 = ((int *) var1)[40];
      var54 = sp;
      scePaf_DC2CA0F7 (var54, var53, "tex_arrow_left");
      var57 = ((int *) var1)[41];
      var58 = ((int *) var57)[0];
      var59 = ((int *) var58)[42];
      var60 = sp;
      var63 var64 = (*var59) (var57, var60, (var27 | 0x0000001C));
      var65 = ((int *) sp)[0];
      if (var65 == 0x00000000)
      {
        var151 = ((int *) var1)[40];
      }
      else
      {
        var66 = ((int *) var65)[1];
        var67 = var66 + 0xFFFFFFFF;
        ((int *) var65)[1] = var67;
        if (var67 <= 0)
        {
          var144 = ((int *) var65)[0];
          var145 = ((int *) var144)[1];
          var148 var149 = (*var145) (var65);
          var150 = ((int *) var1)[40];
        }
        else
        {
          var68 = ((int *) var1)[40];
        }
      }
      var69 = sp;
      scePaf_DC2CA0F7 (var69, var68, "tex_arrow_left_shadow");
      var72 = ((int *) var1)[41];
      var73 = ((int *) var72)[0];
      var74 = ((int *) var73)[42];
      var75 = sp;
      var78 var79 = (*var74) (var72, var75, (var27 | 0x0000001D));
      var80 = ((int *) sp)[0];
      if (var80 == 0x00000000)
      {
        var143 = ((int *) var1)[210];
      }
      else
      {
        var81 = ((int *) var80)[1];
        var82 = var81 + 0xFFFFFFFF;
        ((int *) var80)[1] = var82;
        if (var82 <= 0)
        {
          var136 = ((int *) var80)[0];
          var137 = ((int *) var136)[1];
          var140 var141 = (*var137) (var80);
          var142 = ((int *) var1)[210];
        }
        else
        {
          var83 = ((int *) var1)[210];
        }
      }
      var84 = sp;
      scePaf_DC2CA0F7 (var84, var83, (var22 + "tex_sdwf_system"));
      var87 = ((int *) var1)[41];
      var88 = ((int *) var87)[0];
      var89 = ((int *) var88)[42];
      var90 = sp;
      var93 var94 = (*var89) (var87, var90, (var27 | 0x0000001F));
      var95 = ((int *) sp)[0];
      if (var95 == 0x00000000)
      {
        var98 = ((int *) var1)[41];
      }
      else
      {
        var96 = ((int *) var95)[1];
        var97 = var96 + 0xFFFFFFFF;
        ((int *) var95)[1] = var97;
        if (var97 <= 0)
        {
          var130 = ((int *) var95)[0];
          var131 = ((int *) var130)[1];
          var134 var135 = (*var131) (var95);
          var98 = ((int *) var1)[41];
        }
        else
        {
          var98 = ((int *) var1)[41];
        }
      }
      var19 = var19 + 0x00000001;
      var99 = ((int *) var98)[205];
      if (!(((var19 < var99)) != 0x00000000))
        break;
      continue;
    }
  }
  var100 = ((int *) var1)[41];
  scePaf_4D4805AF (var100, 0x00000000, 0x00000002);
  var103 = ((int *) var1)[41];
  scePaf_4D4805AF (var103, 0x00000001, 0x00000000);
  var106 = ((int *) var1)[41];
  scePaf_4D4805AF (var106, 0x00000002, 0x00000000);
  var109 = ((int *) var1)[41];
  scePaf_4D4805AF (var109, 0x00000003, 0x00000000);
  var112 = ((int *) var1)[41];
  scePaf_4D4805AF (var112, 0x00000004, 0x00000001);
  __asm__ ("mtc1       $zr, $fpr12;");
  var115 = ((int *) var1)[41];
  __asm__ ("mov.s      $fpr13, $fpr12;");
  scePaf_76491EEA (var115);
  var118 = ((unsigned char *) var1)[828];
  if (!(var118 != 0x00000000))
  {
    ((int *) var1)[208] = 0x00000004;
    ((int *) var1)[209] = 0x00000011;
  }
  sub_12304 (var1, 0x00000001);
  ra = ((int *) sp)[21];
  var121 = ((int *) sp)[20];
  var122 = ((int *) sp)[19];
  var123 = ((int *) sp)[18];
  var124 = ((int *) sp)[17];
  var125 = ((int *) sp)[16];
  var126 = ((int *) sp)[15];
  var127 = ((int *) sp)[14];
  var128 = ((int *) sp)[13];
  var129 = ((int *) sp)[12];
  sp = sp + 0x00000060;
  return;
}

/**
 * Subroutine at address 0x0000C4A4
 */
void sub_0C4A4 (int arg1)
{
  sp = sp + 0xFFFFFFA0;
  ((int *) sp)[14] = s2;
  var1 = 0x00000000;
  ((int *) sp)[13] = s1;
  ((int *) sp)[18] = ra;
  ((int *) sp)[17] = s5;
  ((int *) sp)[16] = s4;
  ((int *) sp)[15] = s3;
  ((int *) sp)[12] = s0;
  __asm__ ("swc1       $fpr20, 80($sp);"
    : 
    : "=r"(sp));
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[205];
  var4 = arg1;
  if (!(var3 <= 0))
  {
    __asm__ ("lwc1       $fpr20, -7076($v0);");
    var5 = "msgtop_sysconf";
    var6 = sp + 0x00000020;
    var7 = ((int *) var4)[210];
    while (1) {
      var10 = scePaf_BB3CBD19 (var7, var5, 0xFFFFFFFF);
      var11 = sp;
      ((int *) sp)[0] = 0x00000000;
      var12 = var1 << 0x00000018;
      var1 = var1 + 0x00000001;
      ((int *) sp)[1] = 0x00000000;
      sub_0B3E4 (var11, var10);
      var15 = ((int *) var4)[41];
      var16 = sp;
      var17 = ((int *) var15)[0];
      var18 = ((int *) var17)[44];
      var5 = var5 + 0x00000040;
      var21 var22 = (*var18) (var15, var16, (var12 | 0x00000027));
      var23 = sp;
      sub_0B3B4 (var23);
      var26 = ((int *) var4)[41];
      __asm__ ("swc1       $fpr20, 32($sp);"
        : 
        : "=r"(sp));
      var27 = ((int *) var26)[0];
      __asm__ ("swc1       $fpr20, 36($sp);"
        : 
        : "=r"(sp));
      var28 = ((int *) var27)[33];
      __asm__ ("swc1       $fpr20, 40($sp);"
        : 
        : "=r"(sp));
      __asm__ ("swc1       $fpr20, 44($sp);"
        : 
        : "=r"(sp));
      var31 var32 = (*var28) (var26, (var12 | 0x0000001A), 0x00000014, var6);
      var33 = ((int *) var4)[41];
      var34 = ((int *) var33)[205];
      if (!(((var1 < var34)) != 0x00000000))
        break;
      var46 = ((int *) var4)[210];
      continue;
    }
  }
  var35 = ((int *) var4)[41];
  scePaf_75A553A2 (var35, 0xFFFFFFFF);
  sub_0F5BC (var4);
  ra = ((int *) sp)[18];
  var40 = ((int *) sp)[17];
  var41 = ((int *) sp)[16];
  var42 = ((int *) sp)[15];
  var43 = ((int *) sp)[14];
  var44 = ((int *) sp)[13];
  var45 = ((int *) sp)[12];
  __asm__ ("lwc1       $fpr20, 80($sp);");
  sp = sp + 0x00000060;
  return;
}

/**
 * Subroutine at address 0x0000C5CC
 */
int sub_0C5CC (int arg1)
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[16] = s4;
  ((int *) sp)[13] = s1;
  var1 = arg1;
  ((int *) sp)[17] = ra;
  ((int *) sp)[15] = s3;
  ((int *) sp)[14] = s2;
  ((int *) sp)[12] = s0;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[206];
  var4 = var3 << 0x00000001;
  var5 = var1 + ((var4 + var3) << 0x00000002);
  var6 = ((int *) var5)[212];
  var7 = 0x00000000;
  if (!(var6 == 0x00000000))
  {
    var8 = ((int *) var5)[211];
    var9 = 0x00000000;
    while (1) {
      var10 = ((int *) var8)[1];
      ((int *) sp)[0] = var10;
      var11 = ((int *) var5)[211];
      var12 = ((int *) sp)[0];
      ((int *) sp)[4] = var11;
      if (var12 == var11)
        break;
      var13 = ((int *) var1)[41];
      var16 = scePaf_81667058 (var13, 0xFFFFFFFF);
      var9 = var9 + 0x00000001;
      if (((var9 < var16)) == 0x00000000)
        break;
      var8 = ((int *) sp)[0];
      ((int *) sp)[8] = var8;
      continue;
    }
    var17 = ((int *) (var1 + ((var4 + var3) << 0x00000002)))[211];
    var18 = ((int *) sp)[0];
    var7 = 0x00000000;
    ((int *) sp)[8] = var17;
    if (!(var18 == var17))
    {
      var19 = ((int *) var18)[2];
      var20 = ((int *) var19)[3];
      var7 = (0x00000000 < var20);
    }
  }
  ra = ((int *) sp)[17];
  var21 = ((int *) sp)[16];
  var22 = ((int *) sp)[15];
  var23 = ((int *) sp)[14];
  var24 = ((int *) sp)[13];
  var25 = ((int *) sp)[12];
  sp = sp + 0x00000050;
  return var7;
}

/**
 * Subroutine at address 0x0000C6A8
 */
int sub_0C6A8 (int arg1)
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[16] = s4;
  ((int *) sp)[13] = s1;
  var1 = arg1;
  ((int *) sp)[17] = ra;
  ((int *) sp)[15] = s3;
  ((int *) sp)[14] = s2;
  ((int *) sp)[12] = s0;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[206];
  var4 = var3 << 0x00000001;
  var5 = var1 + ((var4 + var3) << 0x00000002);
  var6 = ((int *) var5)[212];
  var7 = 0x00000000;
  if (!(var6 == 0x00000000))
  {
    var8 = ((int *) var5)[211];
    var9 = 0x00000000;
    while (1) {
      var10 = ((int *) var8)[1];
      ((int *) sp)[0] = var10;
      var11 = ((int *) var5)[211];
      var12 = ((int *) sp)[0];
      ((int *) sp)[4] = var11;
      if (var12 == var11)
        break;
      var13 = ((int *) var1)[41];
      var16 = scePaf_81667058 (var13, 0xFFFFFFFF);
      var9 = var9 + 0x00000001;
      if (((var9 < var16)) == 0x00000000)
        break;
      var8 = ((int *) sp)[0];
      ((int *) sp)[8] = var8;
      continue;
    }
    var17 = ((int *) (var1 + ((var4 + var3) << 0x00000002)))[211];
    var18 = ((int *) sp)[0];
    var7 = 0x00000000;
    ((int *) sp)[8] = var17;
    if (!(var18 == var17))
    {
      var19 = ((int *) var18)[2];
      var7 = ((unsigned char *) var19)[26];
    }
  }
  ra = ((int *) sp)[17];
  var20 = ((int *) sp)[16];
  var21 = ((int *) sp)[15];
  var22 = ((int *) sp)[14];
  var23 = ((int *) sp)[13];
  var24 = ((int *) sp)[12];
  sp = sp + 0x00000050;
  return var7;
}

/**
 * Subroutine at address 0x0000C8E4
 */
int sub_0C8E4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = arg1;
  var2 = 0xFFFFFFFF;
  if (!(((arg2 < 0x0000000C)) == 0x00000000))
  {
    var3 = ((int *) ((arg2 << 0x00000002) + 0x0001DF20))[0];
    switch () {
    case 0:
      var4 = ((unsigned char *) var1)[906];
      var5 = var1;
      var6 = 0x0000000A;
      var7 = 0x00000001;
      if (var4 != 0x00000000)
      {

      label31:
        var10 = sub_0CA5C (var5, var6, var7);
        var2 = var10;
      }
      else
      {
        var2 = 0xFFFFFFFF;
      }
    case 1:
      var11 = ((unsigned char *) var1)[905];
      var2 = 0xFFFFFFFF;
      if (!(var11 == 0x00000000))
      {
        var12 = ((int *) var1)[52];
        var5 = var1;
        var6 = 0x0000000B;
        var13 = var12 & 0x00000020;

      label27:
        if (var13 == 0x00000000)
        {
          var2 = 0xFFFFFFFF;
        }
        else
        {

        label29:
          var7 = 0x00000002;
          goto label31;
        }
      }
    case 2:
      var14 = ((unsigned char *) var1)[906];
      if (var14 == 0x00000000)
      {
        var2 = 0xFFFFFFFF;
      }
      else
      {
        var5 = var1;
        var6 = 0x0000000C;
        goto label29;
      }
    case 3:
      var13 = ((unsigned char *) var1)[905];
      var5 = var1;
      var6 = 0x0000000D;
      goto label27;
    case 4:
      var15 = ((unsigned char *) var1)[905];
      var2 = 0xFFFFFFFF;
      if (!(var15 == 0x00000000))
      {
        var16 = ((int *) var1)[52];
        var5 = var1;
        var6 = 0x0000000E;
        if (!((var16 & 0x00000040) == 0x00000000))
        {

        label20:
          var7 = 0x00000003;
          goto label31;
        }
      }
    case 5:
      var17 = ((unsigned char *) var1)[906];
      if (var17 == 0x00000000)
      {
        var2 = 0xFFFFFFFF;
      }
      else
      {
        var5 = var1;
        var6 = 0x0000000F;
        goto label20;
      }
    case 6:
      var5 = var1;
      var6 = 0x00000010;

    label14:
      var7 = 0x00000004;
      goto label31;
    case 7:
    case 11:
      var5 = var1;
      var6 = 0x00000011;
      goto label14;
    case 8:
      var18 = ((unsigned char *) var1)[905];
      var2 = 0xFFFFFFFF;
      if (!(var18 == 0x00000000))
      {
        var19 = ((int *) var1)[52];
        var5 = var1;
        var6 = 0x00000012;
        var20 = var19 & 0x00000010;

      label9:
        if (var20 == 0x00000000)
        {
          var2 = 0xFFFFFFFF;
        }
        else
        {
          var7 = 0x00000004;
          goto label31;
        }
      }
    case 9:
      var20 = ((unsigned char *) var1)[906];
      var5 = var1;
      var6 = 0x00000013;
      goto label9;
    case 10:
      var21 = ((unsigned char *) var1)[905];
      var2 = 0xFFFFFFFF;
      if (!(var21 == 0x00000000))
      {
        var22 = ((int *) var1)[52];
        var5 = var1;
        var6 = 0x00000014;
        var20 = var22 & 0x00000080;
        goto label9;
      }
    }
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var2;
}

/**
 * Subroutine at address 0x0000CA5C
 */
int sub_0CA5C (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFD0;
  var1 = 0xFFFFFC0E;
  if (arg3 < 0)
  {
    arg3 = 0x00000000;

  label5:
    var3 = arg1 + (((arg3 << 0x00000001) + arg3) << 0x00000002);
    var4 = ((int *) var3)[211];
    var5 = 0x00000000;
    var6 = ((int *) var4)[1];
    while (1) {
      ((int *) sp)[0] = var6;
      var7 = 0xFFFFFFFF;
      var8 = ((int *) var3)[211];
      var9 = ((int *) sp)[0];
      ((int *) sp)[4] = var8;
      if (var9 == var8)
      {

      label15:
        var2 = var1;
      }
      else
      {
        var10 = ((int *) arg1)[41];
        if (arg3 < 0)
        {

        label11:
          var14 = (var5 < var7);
        }
        else
        {
          var11 = ((int *) var10)[205];
          if (((arg3 < var11)) == 0x00000000)
          {
            var14 = (var5 < 0xFFFFFFFF);
          }
          else
          {
            var12 = ((int *) var10)[216];
            var13 = ((int *) (var12 + (arg3 << 0x00000002)))[0];
            var7 = ((int *) var13)[204];
            goto label11;
          }
        }
        var2 = 0xFFFFFC0E;
        if (var14 == 0x00000000)
          break;
        var15 = ((int *) var9)[2];
        var16 = ((int *) var15)[0];
        if (var16 == arg2)
        {
          var1 = var5;
          goto label15;
        }
        else
        {
          ((int *) sp)[8] = var9;
          var5 = var5 + 0x00000001;
          var6 = ((int *) var9)[1];
          continue;
        }
      }
    }
  }
  else
  {
    var2 = 0xFFFFFFFF;
    if (!(((arg3 < 0x00000005)) == 0x00000000))
      goto label5;
  }
  sp = sp + 0x00000030;
  return var2;
}

/**
 * Subroutine at address 0x0000CB1C
 */
int sub_0CB1C (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = s1;
  var1 = ((int *) arg1)[41];
  var2 = ((int *) var1)[206];
  var5 = scePaf_81667058 (var1, 0xFFFFFFFF);
  var8 = sub_0CB64 (arg1, var2, var5);
  ra = ((int *) sp)[2];
  var9 = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var8;
}

/**
 * Subroutine at address 0x0000CB64
 */
int sub_0CB64 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFD0;
  if (arg2 < 0)
  {

  label15:
    var5 = 0x00000000;
  }
  else
  {
    var1 = ((int *) arg1)[41];
    var2 = ((int *) var1)[205];
    if ((((var2 + 0xFFFFFFFF) < arg2)) != 0x00000000)
    {
      var5 = 0x00000000;
    }
    else
    {
      var3 = arg1 + (((arg2 << 0x00000001) + arg2) << 0x00000002);
      var4 = ((int *) var3)[212];
      if (var4 == 0x00000000)
      {
        goto label15;
      }
      else
      {
        if (!((((var4 + 0xFFFFFFFF) < arg3)) == 0x00000000))
          goto label15;
        var6 = ((int *) var3)[211];
        var7 = 0x00000000;
        while (1) {
          var8 = ((int *) var6)[1];
          var7 = var7 + 0x00000001;
          ((int *) sp)[0] = var8;
          var9 = ((int *) var3)[211];
          var6 = ((int *) sp)[0];
          ((int *) sp)[4] = var9;
          if (var6 == var9)
            break;
          if (((var7 < arg3)) == 0x00000000)
          {
            var5 = ((int *) var6)[2];
          }
          else
          {
            ((int *) sp)[8] = var6;
            continue;
          }
          goto label16;
        }
        var5 = ((int *) var6)[2];
      }
    }
  }

label16:
  sp = sp + 0x00000030;
  return var5;
}

/**
 * Subroutine at address 0x0000CBF4
 */
int sub_0CBF4 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  var1 = arg1;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s1;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[206];
  var4 = var1 + (((var3 << 0x00000001) + var3) << 0x00000002);
  var5 = ((int *) var4)[212];
  var6 = 0xFFFFFFFF;
  if (!(var5 == 0x00000000))
  {
    var7 = ((int *) var4)[211];
    var8 = 0x00000000;
    while (1) {
      var9 = ((int *) var7)[1];
      var10 = ((int *) var2)[206];
      ((int *) sp)[0] = var9;
      var11 = ((int *) (var1 + (((var10 << 0x00000001) + var10) << 0x00000002)))[211];
      var12 = ((int *) sp)[0];
      ((int *) sp)[4] = var11;
      if (var12 == var11)
        break;
      var15 = scePaf_81667058 (var2, 0xFFFFFFFF);
      var8 = var8 + 0x00000001;
      if (((var8 < var15)) == 0x00000000)
        break;
      var7 = ((int *) sp)[0];
      var2 = ((int *) var1)[41];
      ((int *) sp)[8] = var7;
      continue;
    }
    var16 = ((int *) sp)[0];
    var17 = ((int *) var16)[2];
    var6 = ((int *) var17)[1];
  }
  ra = ((int *) sp)[14];
  var18 = ((int *) sp)[13];
  var19 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return var6;
}

/**
 * Subroutine at address 0x0000CD64
 */
int sub_0CD64 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  var1 = arg1;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s1;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[206];
  var4 = var1 + (((var3 << 0x00000001) + var3) << 0x00000002);
  var5 = ((int *) var4)[212];
  var6 = 0xFFFFFFFF;
  if (!(var5 == 0x00000000))
  {
    var7 = ((int *) var4)[211];
    var8 = 0x00000000;
    while (1) {
      var9 = ((int *) var7)[1];
      var10 = ((int *) var2)[206];
      ((int *) sp)[0] = var9;
      var11 = ((int *) (var1 + (((var10 << 0x00000001) + var10) << 0x00000002)))[211];
      var12 = ((int *) sp)[0];
      ((int *) sp)[4] = var11;
      if (var12 == var11)
        break;
      var15 = scePaf_81667058 (var2, 0xFFFFFFFF);
      var8 = var8 + 0x00000001;
      if (((var8 < var15)) == 0x00000000)
        break;
      var7 = ((int *) sp)[0];
      var2 = ((int *) var1)[41];
      ((int *) sp)[8] = var7;
      continue;
    }
    var16 = ((int *) sp)[0];
    var17 = ((int *) var16)[2];
    var6 = ((int *) var17)[5];
  }
  ra = ((int *) sp)[14];
  var18 = ((int *) sp)[13];
  var19 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return var6;
}

/**
 * Subroutine at address 0x0000CE1C
 */
int sub_0CE1C (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  var1 = arg1;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s1;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[206];
  var4 = var1 + (((var3 << 0x00000001) + var3) << 0x00000002);
  var5 = ((int *) var4)[212];
  var6 = 0x00000000;
  if (!(var5 == 0x00000000))
  {
    var7 = ((int *) var4)[211];
    var8 = 0x00000000;
    while (1) {
      var9 = ((int *) var7)[1];
      var10 = ((int *) var2)[206];
      ((int *) sp)[0] = var9;
      var11 = ((int *) (var1 + (((var10 << 0x00000001) + var10) << 0x00000002)))[211];
      var12 = ((int *) sp)[0];
      ((int *) sp)[4] = var11;
      if (var12 == var11)
        break;
      var15 = scePaf_81667058 (var2, 0xFFFFFFFF);
      var8 = var8 + 0x00000001;
      if (((var8 < var15)) == 0x00000000)
        break;
      var7 = ((int *) sp)[0];
      var2 = ((int *) var1)[41];
      ((int *) sp)[8] = var7;
      continue;
    }
    var16 = ((int *) sp)[0];
    var17 = ((int *) var16)[2];
    var18 = ((int *) var17)[3];
    var6 = 0x00000000;
    if (!(var18 == 0x00000000))
    {
      var19 = ((char *) var18)[0];
      var20 = 0x00000000;
      if (!(var19 == 0x00000000))
      {
        while (1) {
          var18 = var18 + 0x00000024;
          var21 = ((char *) var18)[0];
          var20 = var20 + 0x00000001;
          if (var21 != 0x00000000)
            continue;
          break;
        }
      }
      var6 = var20;
    }
  }
  ra = ((int *) sp)[14];
  var22 = ((int *) sp)[13];
  var23 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return var6;
}

/**
 * Subroutine at address 0x0000CEFC
 */
int sub_0CEFC (int arg1, int arg2, int arg3)
{
  var1 = ((int *) arg2)[3];
  var2 = 0x00000000;
  if (!(var1 == 0x00000000))
  {
    var3 = 0x00000000;
    if (arg3 < 0)
    {

    label8:
      var2 = var1 + (((arg3 << 0x00000003) + arg3) << 0x00000002);
    }
    else
    {
      var4 = var1 + 0x00000020;
      var5 = ((int *) var4)[0];
      while (1) {
        var3 = var3 + 0x00000001;
        var4 = var4 + 0x00000024;
        var2 = 0x00000000;
        if (var5 == 0xFFFFFFFF)
          break;
        if (!(((arg3 < var3)) == 0x00000000))
          goto label8;
        var5 = ((int *) var4)[0];
        continue;
      }
    }
  }
  return var2;
}

/**
 * Subroutine at address 0x0000D180
 */
int sub_0D180 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  var1 = arg1;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s1;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[206];
  var4 = var1 + (((var3 << 0x00000001) + var3) << 0x00000002);
  var5 = ((int *) var4)[212];
  var6 = 0x00000000;
  if (!(var5 == 0x00000000))
  {
    var7 = ((int *) var4)[211];
    var8 = 0x00000000;
    while (1) {
      var9 = ((int *) var7)[1];
      var10 = ((int *) var2)[206];
      ((int *) sp)[0] = var9;
      var11 = ((int *) (var1 + (((var10 << 0x00000001) + var10) << 0x00000002)))[211];
      var12 = ((int *) sp)[0];
      ((int *) sp)[4] = var11;
      if (var12 == var11)
        break;
      var15 = scePaf_81667058 (var2, 0xFFFFFFFF);
      var8 = var8 + 0x00000001;
      if (((var8 < var15)) == 0x00000000)
        break;
      var7 = ((int *) sp)[0];
      var2 = ((int *) var1)[41];
      ((int *) sp)[8] = var7;
      continue;
    }
    var16 = ((int *) sp)[0];
    var17 = ((int *) var16)[2];
    var18 = ((int *) var17)[4];
    var6 = 0x00000000;
    if (!(var18 == 0x00000000))
    {
      var19 = ((char *) var18)[0];
      var20 = 0x00000000;
      if (!(var19 == 0x00000000))
      {
        while (1) {
          var18 = var18 + 0x00000018;
          var21 = ((char *) var18)[0];
          var20 = var20 + 0x00000001;
          if (var21 != 0x00000000)
            continue;
          break;
        }
      }
      var6 = var20;
    }
  }
  ra = ((int *) sp)[14];
  var22 = ((int *) sp)[13];
  var23 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return var6;
}

/**
 * Subroutine at address 0x0000D260
 */
int sub_0D260 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  var1 = arg1;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s1;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[206];
  var4 = var1 + (((var3 << 0x00000001) + var3) << 0x00000002);
  var5 = ((int *) var4)[212];
  var6 = 0x00000000;
  if (!(var5 == 0x00000000))
  {
    var7 = ((int *) var4)[211];
    var8 = 0x00000000;
    while (1) {
      var9 = ((int *) var7)[1];
      var10 = ((int *) var2)[206];
      ((int *) sp)[0] = var9;
      var11 = ((int *) (var1 + (((var10 << 0x00000001) + var10) << 0x00000002)))[211];
      var12 = ((int *) sp)[0];
      ((int *) sp)[4] = var11;
      if (var12 == var11)
        break;
      var15 = scePaf_81667058 (var2, 0xFFFFFFFF);
      var8 = var8 + 0x00000001;
      if (((var8 < var15)) == 0x00000000)
        break;
      var7 = ((int *) sp)[0];
      var2 = ((int *) var1)[41];
      ((int *) sp)[8] = var7;
      continue;
    }
    var16 = ((int *) sp)[0];
    var17 = ((int *) var16)[2];
    var6 = ((int *) var17)[3];
  }
  ra = ((int *) sp)[14];
  var18 = ((int *) sp)[13];
  var19 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return var6;
}

/**
 * Subroutine at address 0x0000D318
 */
int sub_0D318 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s0;
  var1 = arg1;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s1;
  var2 = ((int *) arg1)[41];
  var3 = ((int *) var2)[206];
  var4 = var1 + (((var3 << 0x00000001) + var3) << 0x00000002);
  var5 = ((int *) var4)[212];
  var6 = 0x00000000;
  if (!(var5 == 0x00000000))
  {
    var7 = ((int *) var4)[211];
    var8 = 0x00000000;
    while (1) {
      var9 = ((int *) var7)[1];
      var10 = ((int *) var2)[206];
      ((int *) sp)[0] = var9;
      var11 = ((int *) (var1 + (((var10 << 0x00000001) + var10) << 0x00000002)))[211];
      var12 = ((int *) sp)[0];
      ((int *) sp)[4] = var11;
      if (var12 == var11)
        break;
      var15 = scePaf_81667058 (var2, 0xFFFFFFFF);
      var8 = var8 + 0x00000001;
      if (((var8 < var15)) == 0x00000000)
        break;
      var7 = ((int *) sp)[0];
      var2 = ((int *) var1)[41];
      ((int *) sp)[8] = var7;
      continue;
    }
    var16 = ((int *) sp)[0];
    var17 = ((int *) var16)[2];
    var6 = ((int *) var17)[4];
  }
  ra = ((int *) sp)[14];
  var18 = ((int *) sp)[13];
  var19 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return var6;
}

/**
 * Subroutine at address 0x0000D3D0
 */
void sub_0D3D0 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[10] = s2;
  var1 = arg3;
  ((int *) sp)[9] = s1;
  ((int *) sp)[8] = s0;
  ((int *) sp)[11] = ra;
  ((int *) sp)[1] = 0x00000000;
  var2 = ((int *) arg2)[41];
  ((int *) sp)[0] = 0x00000000;
  var3 = ((int *) var2)[206];
  var4 = arg1;
  if (var3 == 0x00000003)
  {
    var18 = "disc0:/UMD_VIDEO/";

  label11:
    var19 = sp;
    sub_01A8C (var19, var18);
    var24 = scePaf_CA79D58B (var1);
    var25 = sp;
    var28 = sub_135B0 (var25, var1, var24);
    ((int *) var4)[0] = 0x00000000;
    var9 = var28;
    var8 = var4;
  }
  else
  {
    if (((var3 < 0x00000004)) == 0x00000000)
    {
      if (var3 != 0x00000004)
      {

      label19:
        var5 = sp;
        sub_01A8C (var5, 0x0001DF64);
        var8 = var4;
        var9 = sp;
        ((int *) var4)[0] = 0x00000000;
      }
      else
      {
        var18 = "disc0:/PSP_GAME/";
        goto label11;
      }
    }
    else
    {
      if (var3 == 0x00000002)
      {
        var18 = "disc0:/UMD_AUDIO/";
        goto label11;
      }
      else
      {
        goto label19;
      }
    }
  }
  ((int *) var4)[1] = 0x00000000;
  sub_01ADC (var8, var9);
  var12 = sp;
  sub_01988 (var12);
  ra = ((int *) sp)[11];
  var15 = ((int *) sp)[10];
  var16 = ((int *) sp)[9];
  var17 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0000D4C8
 */
void sub_0D4C8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  var1 = 0xFFFFFFFF;
  ((int *) sp)[1] = s1;
  var2 = 0xFFFFFFFF;
  ((int *) sp)[0] = s0;
  ((int *) sp)[3] = ra;
  var3 = ((int *) arg1)[52];
  var4 = arg1;
  if ((var3 & 0x00000100) != 0x00000000)
  {
    var29 = sub_0C8E4 (arg1, 0x00000008);
    var1 = var29;
    var2 = 0x00000004;
  }
  else
  {
    if ((var3 & 0x00000400) != 0x00000000)
    {
      var26 = sub_0C8E4 (arg1, 0x00000004);
      var1 = var26;
      var2 = 0x00000003;
    }
    else
    {
      if ((var3 & 0x00000200) != 0x00000000)
      {
        var23 = sub_0C8E4 (arg1, 0x00000001);
        var1 = var23;
        var2 = 0x00000002;
      }
    }
  }
  if ((!(var1 | var2)) < 0)
  {
    var10 = sub_10DFC (var4);
    if (var10 != 0x00000000)
    {
      sub_0D688 (var4, var2, var1);
      var20 = ((int *) var4)[9];
      ((int *) var4)[9] = (var20 | 0x00000004);

    label31:
    }
    else
    {
      var11 = ((unsigned char *) var4)[100];
      if (var11 == 0x00000000)
      {
      }
      else
      {
        var14 = sub_0C6A8 (var4);
        if (var14 == 0x00000000)
        {
        }
        else
        {
          var15 = ((int *) var4)[41];
          __asm__ ("lwc1       $fpr12, -7072($v0);");
          scePaf_EF52945B (var15, 0x0000006F, 0x00009D4C, 0x00000000);
        }
      }
    }
  }
  else
  goto label31;
  ((char *) var4)[112] = 0x00000001;
  ra = ((int *) sp)[3];
  var5 = ((int *) sp)[2];
  var6 = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000D5E0
 */
void sub_0D5E0 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg4;
  ((int *) sp)[1] = ra;
  var2 = ((int *) arg1)[206];
  var3 = ((short *) arg4)[27];
  if (var2 == var3)
  {
    var11 = scePaf_EAA5AFF6 (arg1, 0x00000070);
    var14 = sub_1228C (var1, 0x00000000);
    var17 = sub_0C6A8 (var1);
    if (var17 == 0x00000000)
    {

    label19:
      ra = ((int *) sp)[1];
    }
    else
    {
      var18 = ((int *) var1)[41];
      __asm__ ("lwc1       $fpr12, -7068($v0);");
      scePaf_EF52945B (var18, 0x0000006F, 0x00009D4C, 0x00000000);
      ra = ((int *) sp)[1];
    }
  }
  else
  {
    if (((var2 < var3)) == 0x00000000)
    {
      __asm__ ("lwc1       $fpr12, -7064($v0);");
      scePaf_FCDD55E3 (arg1, 0x00000000);
      ra = ((int *) sp)[1];
    }
    else
    {
      __asm__ ("lwc1       $fpr12, -7064($v0);");
      scePaf_2EABF548 (arg1, 0x00000000);
      goto label19;
    }
  }
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000D688
 */
void sub_0D688 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  if ((arg3 | arg2) >= 0)
  {
    ((int *) arg1)[13] = ((arg2 << 0x00000010) | arg3);
    var5 = sub_1228C (arg1, 0x00000001);
    var6 = ((int *) var1)[41];
    var9 = scePaf_EAA5AFF6 (var6, 0x00000070);
    if ((var9 & 0x000000FF) != 0x00000000)
    {
      var15 = sub_1228C (var1, 0x00000000);
    }
    else
    {
    }
    var10 = ((int *) var1)[41];
    __asm__ ("lwc1       $fpr12, -7060($v0);");
    scePaf_33096E46 (var10, 0x00000070, 0x0000D5E0, var1);
    ra = ((int *) sp)[1];
  }
  else
  {
    ra = ((int *) sp)[1];
  }
  var2 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000D71C
 */
void sub_0D71C (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFA0;
  ((int *) sp)[22] = s2;
  var1 = arg1;
  ((int *) sp)[20] = s0;
  var2 = arg2;
  ((int *) sp)[23] = ra;
  ((int *) sp)[21] = s1;
  var3 = ((int *) arg1)[41];
  ((int *) sp)[16] = arg4;
  if (var3 == 0x00000000)
  {

  label20:
    ra = ((int *) sp)[23];
  }
  else
  {
    var4 = ((int *) var3)[205];
    if (((var4 < arg2)) != 0x00000000)
    {
      ra = ((int *) sp)[23];
    }
    else
    {
      var5 = 0xFFFFFFFF;
      if (!(arg2 < 0))
      {
        if (((arg2 < var4)) == 0x00000000)
        {
          var5 = 0xFFFFFFFF;
        }
        else
        {
          var6 = ((int *) var3)[216];
          var7 = ((int *) (var6 + (arg2 << 0x00000002)))[0];
          var5 = ((int *) var7)[204];
        }
      }
      ra = ((int *) sp)[23];
      if (!(((var5 < arg3)) != 0x00000000))
      {
        var8 = var2 << 0x00000001;
        if (!(arg3 < 0))
        {
          var9 = var1 + ((var8 + var2) << 0x00000002);
          var10 = ((int *) var9)[211];
          var11 = 0x00000000;
          var12 = ((int *) var10)[1];
          while (1) {
            ((int *) sp)[0] = var12;
            var13 = ((int *) var9)[211];
            var14 = ((int *) sp)[0];
            ((int *) sp)[4] = var13;
            if (var14 == var13)
              break;
            if (((var11 < arg3)) == 0x00000000)
            {
              var15 = var8 + var2;
            }
            else
            {
              ((int *) sp)[8] = var14;
              var11 = var11 + 0x00000001;
              var12 = ((int *) var14)[1];
              continue;
            }
            goto label16;
          }
          var15 = var8 + var2;

        label16:
          var16 = sp + 0x00000020;
          var17 = sp + 0x00000030;
          var18 = sp + 0x00000040;
          ((int *) sp)[12] = var14;
          sub_13670 (var16, ((var1 + (var15 << 0x00000002)) + 0x0000034C), var17, var18);
          var21 = ((int *) var1)[41];
          scePaf_8C1ED07B (var21, var2, var11);
          goto label20;
        }
      }
    }
  }
  var24 = ((int *) sp)[22];
  var25 = ((int *) sp)[21];
  var26 = ((int *) sp)[20];
  sp = sp + 0x00000060;
  return;
}

/**
 * Subroutine at address 0x0000D828
 */
int sub_0D828 (int arg1, int arg2)
{
  var1 = ((int *) arg1)[41];
  var2 = ((int *) var1)[206];
  var3 = arg1;
  if (arg2 == var2)
  {
    var8 = ((unsigned char *) arg1)[100];
    var6 = 0x00000000;
    if (!(var8 == 0x00000000))
    {
      var9 = ((int *) arg1)[11];
      if (!((var9 & 0x00000200) != 0x00000000))
      {
        var10 = ((unsigned char *) arg1)[103];
        if (var10 == 0x00000000)
        {
          var4 = arg2 << 0x00000002;

        label9:
          var5 = ((int *) (var4 + var3))[34];
          var6 = 0x00000001;
          if (!(var5 == 0x00000001))
          {
            var7 = ((unsigned char *) var3)[112];
            var6 = 0x00000000;
            if (!(var7 == 0x00000000))
            {
              var6 = 0x00000001;
            }
          }
        }
        else
        {
        }
      }
    }
  }
  else
  {
    var4 = arg2 << 0x00000002;
    goto label9;
  }
  return var6;
}

/**
 * Subroutine at address 0x0000D898
 */
int sub_0D898 (int arg1, int arg2)
{
  var1 = arg1;
  var2 = ((int *) ((arg2 << 0x00000002) + arg1))[34];
  if (var2 == 0x00000002)
  {
    var4 = ((unsigned char *) var1)[113];
    var3 = 0x00000001;
    if (var4 == 0x00000000)
    {

    label12:
      var3 = 0x00000000;
    }
    else
    {
      var5 = ((int *) var1)[41];
      var6 = ((int *) var5)[206];
      if (!(arg2 != var6))
      {
        var7 = ((unsigned char *) var1)[100];
        if (var7 == 0x00000000)
        {
          var3 = 0x00000000;
        }
        else
        {
          var8 = ((int *) var1)[11];
          if ((var8 & 0x00000200) != 0x00000000)
          {
            var3 = 0x00000000;
          }
          else
          {
            var9 = ((unsigned char *) var1)[103];
            if (!(var9 == 0x00000000))
            {
              var3 = 0x00000000;
            }
          }
        }
      }
    }
  }
  else
  goto label12;
  return var3;
}

/**
 * Subroutine at address 0x0000D908
 */
void sub_0D908 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = arg1;
  sub_10F30 (arg1);
  var4 = 0x00000004;
  while (1) {
    var5 = ((int *) var1)[29];
    if (((((var5 ^ 0x00000012) < 0x00000001)) | (((var5 ^ 0x0000000E) < 0x00000001))) != 0x00000000)
    {
      ((int *) var1)[34] = 0x00000001;
    }
    else
    {
      if (var5 == 0x0000000B)
      {

      label9:
        ((int *) var1)[34] = 0x00000001;
      }
      else
      {
        if (var5 == 0x0000000D)
          goto label9;
        if (((((var5 ^ 0x0000000A) < 0x00000001)) | (((var5 ^ 0x0000000C) < 0x00000001))) != 0x00000000)
        {
          ((int *) var1)[34] = 0x00000002;
        }
        else
        {
          if (var5 == 0x0000000F)
          {
            ((int *) var1)[34] = 0x00000002;
          }
          else
          {
            if (var5 == 0x00000013)
            {
              ((int *) var1)[34] = 0x00000002;
            }
            else
            {
              ((int *) var1)[34] = 0x00000003;
            }
          }
        }
      }
    }
    var4 = var4 + 0xFFFFFFFF;
    var1 = var1 + 0x00000004;
    if (var4 >= 0)
      continue;
    break;
  }
  ra = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000D9B8
 */
void sub_0D9B8 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  sub_0E12C (arg1);
  var4 = ((unsigned char *) var1)[905];
  if (var4 == 0x00000000)
  {
    var11 = ((int *) var1)[52];
    ((char *) var1)[905] = 0x00000001;
    if (!((var11 & 0x00000020) == 0x00000000))
    {
      var12 = ((int *) var1)[65];
      var13 = 0x0002036C;
      if (!(var12 == 0x00000001))
      {
        var13 = 0x0002025C;
      }
      sub_0D71C (var1, 0x00000002, 0x00000000, var13);
      var18 = sub_0D828 (var1, 0x00000002);
      if (var18 != 0x00000000)
      {
        var153 = ((int *) var1)[41];
        var154 = ((int *) var153)[216];
        var155 = ((int *) var154)[2];
        scePaf_F554C7C7 (var155, 0x00000000, 0x00000000);
        var158 = ((int *) var1)[41];
        while (1) {
          var161 = scePaf_81667058 (var158, 0x00000002);
          __asm__ ("lwc1       $fpr12, -7056($s2);");
          if (var161 >= 0)
            break;
          var162 = ((int *) var1)[41];
          var163 = ((int *) var162)[216];
          var164 = ((int *) var163)[2];
          scePaf_5D242D11 (var164, 0x00000000);
          var167 = ((int *) var1)[41];
          continue;
        }
        var168 = ((int *) var1)[41];
        while (1) {
          var171 = scePaf_81667058 (var168, 0x00000002);
          if (var171 <= 0)
            break;
          var172 = ((int *) var1)[41];
          __asm__ ("lwc1       $fpr12, -7056($s1);");
          var173 = ((int *) var172)[216];
          var174 = ((int *) var173)[2];
          scePaf_42F43213 (var174, 0x00000000);
          var177 = ((int *) var1)[41];
          continue;
        }
        ((int *) var1)[36] = 0x00000001;
      }
      var19 = ((int *) var1)[41];
      var20 = ((int *) var19)[206];
      if (0x00000002 == var20)
      {
        var147 = sceVshCommonGui_F7A03543 ();
        if (var147 == 0x00000000)
        {
          var11 = ((int *) var1)[52];
        }
        else
        {
          var148 = ((int *) var1)[41];
          __asm__ ("mtc1       $zr, $fpr12;");
          var149 = ((int *) var148)[216];
          var150 = ((int *) var149)[2];
          scePaf_9430557B (var150);
          var11 = ((int *) var1)[52];
        }
      }
      else
      {
        var11 = ((int *) var1)[52];
      }
    }
    if ((var11 & 0x00000040) != 0x00000000)
    {
      sub_0D71C (var1, 0x00000003, 0x00000000, 0x000203F4);
      var109 = sub_0D828 (var1, 0x00000003);
      if (var109 != 0x00000000)
      {
        var120 = ((int *) var1)[41];
        var121 = ((int *) var120)[216];
        var122 = ((int *) var121)[3];
        scePaf_F554C7C7 (var122, 0x00000000, 0x00000000);
        var125 = ((int *) var1)[41];
        while (1) {
          var128 = scePaf_81667058 (var125, 0x00000003);
          __asm__ ("lwc1       $fpr12, -7056($s2);");
          if (var128 >= 0)
            break;
          var129 = ((int *) var1)[41];
          var130 = ((int *) var129)[216];
          var131 = ((int *) var130)[3];
          scePaf_5D242D11 (var131, 0x00000000);
          var134 = ((int *) var1)[41];
          continue;
        }
        var135 = ((int *) var1)[41];
        while (1) {
          var138 = scePaf_81667058 (var135, 0x00000003);
          if (var138 <= 0)
            break;
          var139 = ((int *) var1)[41];
          __asm__ ("lwc1       $fpr12, -7056($s1);");
          var140 = ((int *) var139)[216];
          var141 = ((int *) var140)[3];
          scePaf_42F43213 (var141, 0x00000000);
          var144 = ((int *) var1)[41];
          continue;
        }
        ((int *) var1)[37] = 0x00000001;
      }
      var110 = ((int *) var1)[41];
      var111 = ((int *) var110)[206];
      if (0x00000003 == var111)
      {
        var114 = sceVshCommonGui_F7A03543 ();
        if (var114 == 0x00000000)
        {
          var11 = ((int *) var1)[52];
        }
        else
        {
          var115 = ((int *) var1)[41];
          __asm__ ("mtc1       $zr, $fpr12;");
          var116 = ((int *) var115)[216];
          var117 = ((int *) var116)[3];
          scePaf_9430557B (var117);
          var11 = ((int *) var1)[52];
        }
      }
      else
      {
        var11 = ((int *) var1)[52];
      }
    }
    if ((var11 & 0x00000010) != 0x00000000)
    {
      sub_0D71C (var1, 0x00000004, 0x00000002, 0x00020614);
      var69 = sub_0D828 (var1, 0x00000004);
      if (var69 != 0x00000000)
      {
        var80 = ((int *) var1)[41];
        var81 = ((int *) var80)[216];
        var82 = ((int *) var81)[4];
        scePaf_F554C7C7 (var82, 0x00000002, 0x00000002);
        var85 = ((int *) var1)[41];
        while (1) {
          var88 = scePaf_81667058 (var85, 0x00000004);
          __asm__ ("lwc1       $fpr12, -7056($s2);");
          if (((var88 < 0x00000002)) == 0x00000000)
            break;
          var89 = ((int *) var1)[41];
          var90 = ((int *) var89)[216];
          var91 = ((int *) var90)[4];
          scePaf_5D242D11 (var91, 0x00000000);
          var94 = ((int *) var1)[41];
          continue;
        }
        var95 = ((int *) var1)[41];
        while (1) {
          var98 = scePaf_81667058 (var95, 0x00000004);
          if (((0x00000002 < var98)) == 0x00000000)
            break;
          var99 = ((int *) var1)[41];
          __asm__ ("lwc1       $fpr12, -7056($s1);");
          var100 = ((int *) var99)[216];
          var101 = ((int *) var100)[4];
          scePaf_42F43213 (var101, 0x00000000);
          var104 = ((int *) var1)[41];
          continue;
        }
        ((int *) var1)[38] = 0x00000001;
      }
      var70 = ((int *) var1)[41];
      var71 = ((int *) var70)[206];
      if (0x00000004 == var71)
      {
        var74 = sceVshCommonGui_F7A03543 ();
        if (var74 == 0x00000000)
        {
          var11 = ((int *) var1)[52];
        }
        else
        {
          var75 = ((int *) var1)[41];
          __asm__ ("mtc1       $zr, $fpr12;");
          var76 = ((int *) var75)[216];
          var77 = ((int *) var76)[4];
          scePaf_9430557B (var77);
          var11 = ((int *) var1)[52];
        }
      }
      else
      {
        var11 = ((int *) var1)[52];
      }
    }
    ra = ((int *) sp)[5];
    if ((var11 & 0x00000080) == 0x00000000)
    {

    label146:
      var6 = ((int *) sp)[4];
    }
    else
    {
      var21 = ((unsigned char *) var1)[304];
      var6 = ((int *) sp)[4];
      if (!(var21 != 0x00000000))
      {
        var22 = 0x00000002;
        if (!((var11 & 0x00000010) == 0x00000000))
        {
          var22 = 0x00000003;
        }
        sub_0D71C (var1, 0x00000004, var22, 0x00020724);
        var25 = ((int *) var1)[33];
        ra = ((int *) sp)[5];
        if (var25 != 0x00000014)
          goto label146;
        var26 = ((int *) var1)[38];
        if (var26 != 0x00000003)
        {
          var6 = ((int *) sp)[4];
        }
        else
        {
          ((int *) var1)[38] = 0x00000001;
          var29 = sub_0D828 (var1, 0x00000004);
          if (var29 != 0x00000000)
          {
            var40 = ((int *) var1)[41];
            var41 = ((int *) var40)[216];
            var42 = ((int *) var41)[4];
            scePaf_F554C7C7 (var42, var22, var22);
            var45 = ((int *) var1)[41];
            while (1) {
              var48 = scePaf_81667058 (var45, 0x00000004);
              __asm__ ("lwc1       $fpr12, -7056($s2);");
              if (((var48 < var22)) == 0x00000000)
                break;
              var49 = ((int *) var1)[41];
              var50 = ((int *) var49)[216];
              var51 = ((int *) var50)[4];
              scePaf_5D242D11 (var51, 0x00000000);
              var54 = ((int *) var1)[41];
              continue;
            }
            var55 = ((int *) var1)[41];
            while (1) {
              var58 = scePaf_81667058 (var55, 0x00000004);
              if (((var22 < var58)) == 0x00000000)
                break;
              var59 = ((int *) var1)[41];
              __asm__ ("lwc1       $fpr12, -7056($s1);");
              var60 = ((int *) var59)[216];
              var61 = ((int *) var60)[4];
              scePaf_42F43213 (var61, 0x00000000);
              var64 = ((int *) var1)[41];
              continue;
            }
            ((int *) var1)[38] = 0x00000001;
          }
          var30 = ((int *) var1)[41];
          var31 = ((int *) var30)[206];
          ra = ((int *) sp)[5];
          if (!(0x00000004 != var31))
          {
            var34 = sceVshCommonGui_F7A03543 ();
            if (var34 == 0x00000000)
            {
              ra = ((int *) sp)[5];
            }
            else
            {
              var35 = ((int *) var1)[41];
              __asm__ ("mtc1       $zr, $fpr12;");
              var36 = ((int *) var35)[216];
              var37 = ((int *) var36)[4];
              scePaf_9430557B (var37);
              ra = ((int *) sp)[5];
            }
          }
          goto label146;
        }
      }
    }
  }
  else
  {
    var5 = ((unsigned char *) var1)[200];
    if (var5 != 0x00000000)
    {
      ((char *) var1)[200] = 0x00000000;
    }
    ra = ((int *) sp)[5];
    goto label146;
  }
  var7 = ((int *) sp)[3];
  var8 = ((int *) sp)[2];
  var9 = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000DE90
 */
void sub_0DE90 (int arg1)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[5] = s1;
  ((int *) sp)[6] = ra;
  ((int *) sp)[4] = s0;
  __asm__ ("swc1       $fpr20, 32($sp);"
    : 
    : "=r"(sp));
  var1 = ((unsigned char *) arg1)[905];
  var2 = arg1;
  if (var1 != 0x00000000)
  {
    var7 = sub_10DF4 ();
    if (var7 != 0x00000000)
    {
      ((char *) var2)[200] = 0x00000000;
      var8 = var2 + 0x000000C8;
      sub_131F4 ((var2 + 0x000001F8), var8);
      sub_117CC (var2, var8);
      sub_11DE4 (var2);
      var15 = ((int *) var2)[42];
      if (var15 != 0x00000000)
      {
        __asm__ ("lwc1       $fpr20, -7052($s0);"
                 "mtc1       $zr, $fpr13;");
        __asm__ ("mov.s      $fpr12, $fpr20;");
        sceVshCommonGui_9FAA1BC2 ();
        var72 = ((int *) var2)[42];
        __asm__ ("mtc1       $zr, $fpr13;");
        __asm__ ("mov.s      $fpr12, $fpr20;");
        sceVshCommonGui_4016357A (var72);
        var75 = ((int *) var2)[210];
      }
      else
      {
        var16 = ((int *) var2)[210];
      }
      var19 = scePaf_DAB59652 (var16, "page_info");
      if (var19 == 0x00000000)
      {

      label28:
        var21 = ((int *) var2)[210];
        var24 = scePaf_DAB59652 (var21, "page_optionmenu");
        if (var24 == 0x00000000)
        {

        label36:
          var26 = ((int *) var2)[128];
        }
        else
        {
          var25 = ((int *) var2)[12];
          if (!(var25 == 0x00000001))
            goto label36;
          sub_14D54 (var24);
          var26 = ((int *) var2)[128];
        }
      }
      else
      {
        var20 = ((int *) var2)[12];
        if (!(var20 == 0x00000001))
          goto label28;
        sub_146C4 (var19);
        var26 = ((int *) var2)[128];
      }
      if ((var26 & 0x00000020) == 0x00000000)
      {
        var37 = var26 & 0x00000040;
      }
      else
      {
        var27 = ((int *) var2)[141];
        var28 = var2;
        var29 = 0x0000000D;
        if (!(var27 == 0x00000001))
        {
          var28 = var2;
          var29 = 0x0000000B;
        }
        var32 = sub_0CA5C (var28, var29, 0x00000002);
        ((int *) sp)[0] = 0x00000000;
        __asm__ ("lwc1       $fpr13, 0($sp);"
                 "lwc1       $fpr12, -7052($s0);");
        var33 = ((int *) var2)[41];
        var34 = sp;
        __asm__ ("swc1       $fpr13, 4($sp);"
                 "swc1       $fpr13, 8($sp);"
          : 
          : "=r"(sp));
        __asm__ ("swc1       $fpr13, 12($sp);"
          : 
          : "=r"(sp));
        scePaf_2750CF68 (var33, 0x00000002, var32, var34);
        var26 = ((int *) var2)[128];
        var37 = var26 & 0x00000040;
      }
      if (var37 != 0x00000000)
      {
        var61 = sub_0CA5C (var2, 0x0000000E, 0x00000003);
        ((int *) sp)[0] = 0x00000000;
        __asm__ ("lwc1       $fpr13, 0($sp);"
                 "lwc1       $fpr12, -7052($s0);");
        var62 = ((int *) var2)[41];
        var63 = sp;
        __asm__ ("swc1       $fpr13, 4($sp);"
                 "swc1       $fpr13, 8($sp);"
          : 
          : "=r"(sp));
        __asm__ ("swc1       $fpr13, 12($sp);"
          : 
          : "=r"(sp));
        scePaf_2750CF68 (var62, 0x00000003, var61, var63);
        var26 = ((int *) var2)[128];
      }
      if ((var26 & 0x00000010) != 0x00000000)
      {
        var54 = sub_0CA5C (var2, 0x00000012, 0x00000004);
        ((int *) sp)[0] = 0x00000000;
        __asm__ ("lwc1       $fpr13, 0($sp);"
                 "lwc1       $fpr12, -7052($s0);");
        var55 = ((int *) var2)[41];
        var56 = sp;
        __asm__ ("swc1       $fpr13, 4($sp);"
                 "swc1       $fpr13, 8($sp);"
          : 
          : "=r"(sp));
        __asm__ ("swc1       $fpr13, 12($sp);"
          : 
          : "=r"(sp));
        scePaf_2750CF68 (var55, 0x00000004, var54, var56);
        var26 = ((int *) var2)[128];
      }
      var38 = var2;
      if ((var26 & 0x00000080) != 0x00000000)
      {
        var47 = sub_0CA5C (var38, 0x00000014, 0x00000004);
        ((int *) sp)[0] = 0x00000000;
        __asm__ ("lwc1       $fpr13, 0($sp);"
                 "lwc1       $fpr12, -7052($s0);");
        var48 = ((int *) var2)[41];
        var49 = sp;
        __asm__ ("swc1       $fpr13, 4($sp);"
                 "swc1       $fpr13, 8($sp);"
          : 
          : "=r"(sp));
        __asm__ ("swc1       $fpr13, 12($sp);"
          : 
          : "=r"(sp));
        scePaf_2750CF68 (var48, 0x00000004, var47, var49);
        var38 = var2;
      }
      sub_12304 (var38, 0x00000001);
      var41 = ((int *) var2)[11];
      __asm__ ("lwc1       $fpr12, -7052($s0);");
      var42 = ((int *) var2)[41];
      ((int *) var2)[11] = (var41 | 0x00000200);
      scePaf_EF52945B (var42, 0x00000072, 0x0000E1D4, var2);
      ra = ((int *) sp)[6];
    }
    else
    {
      ((char *) var2)[200] = 0x00000001;

    label70:
      ra = ((int *) sp)[6];
    }
  }
  else
  goto label70;
  var3 = ((int *) sp)[5];
  var4 = ((int *) sp)[4];
  __asm__ ("lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0000E12C
 */
void sub_0E12C (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  var2 = ((int *) arg1)[41];
  var5 = scePaf_EAA5AFF6 (var2, 0x00000072);
  var6 = 0x00000000;
  if (var5 != 0x00000000)
  {
    var8 = ((int *) var1)[41];
    sub_0E1D4 (var8, 0x00000000, 0x00000000, var1);
    var6 = 0x00000001;
  }
  ra = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000E180
 */
void sub_0E180 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  var2 = ((int *) arg1)[41];
  var5 = scePaf_EAA5AFF6 (var2, 0x00000073);
  var6 = 0x00000000;
  if (var5 != 0x00000000)
  {
    var8 = ((int *) var1)[41];
    sub_0ED48 (var8, 0x00000000, 0x00000000, var1);
    var6 = 0x00000001;
  }
  ra = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000E1D4
 */
void sub_0E1D4 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFE40;
  ((int *) sp)[110] = s2;
  var1 = arg4;
  var2 = sp;
  ((int *) sp)[111] = ra;
  ((int *) sp)[109] = s1;
  ((int *) sp)[108] = s0;
  sub_13388 (var2, (arg4 + 0x000001F8));
  var5 = ((int *) var1)[42];
  ((int *) sp)[76] = 0x00000000;
  if (var5 != 0x00000000)
  {
    var155 = sp + 0x00000140;
    sub_13700 (var155, 0x00000000);
    var158 = ((int *) var1)[42];
    sceVshCommonGui_566AA22F (var158, var155, 0x00000002);
    var161 = ((int *) sp)[80];
    if (var161 == 0x00000000)
    {
      var164 = var155;
    }
    else
    {
      var162 = ((int *) var161)[1];
      var163 = var162 + 0xFFFFFFFF;
      ((int *) var161)[1] = var163;
      if (var163 <= 0)
      {
        var244 = ((int *) var161)[0];
        var245 = ((int *) var244)[1];
        var248 var249 = (*var245) (var161);
        var164 = var155;
      }
      else
      {
        var164 = var155;
      }
    }
    sub_13700 (var164, 0x00000000);
    var167 = ((int *) var1)[42];
    sceVshCommonGui_566AA22F (var167, var155, 0x00000003);
    var170 = ((int *) sp)[80];
    if (var170 == 0x00000000)
    {
      var173 = var155;
    }
    else
    {
      var171 = ((int *) var170)[1];
      var172 = var171 + 0xFFFFFFFF;
      ((int *) var170)[1] = var172;
      if (var172 <= 0)
      {
        var238 = ((int *) var170)[0];
        var239 = ((int *) var238)[1];
        var242 var243 = (*var239) (var170);
        var173 = var155;
      }
      else
      {
        var173 = var155;
      }
    }
    sub_13700 (var173, 0x00000000);
    var176 = ((int *) var1)[42];
    sceVshCommonGui_566AA22F (var176, var155, 0x00000005);
    var179 = ((int *) sp)[80];
    if (var179 == 0x00000000)
    {
      var182 = var155;
    }
    else
    {
      var180 = ((int *) var179)[1];
      var181 = var180 + 0xFFFFFFFF;
      ((int *) var179)[1] = var181;
      if (var181 <= 0)
      {
        var232 = ((int *) var179)[0];
        var233 = ((int *) var232)[1];
        var236 var237 = (*var233) (var179);
        var182 = var155;
      }
      else
      {
        var182 = var155;
      }
    }
    sub_13700 (var182, 0x00000000);
    var185 = ((int *) var1)[42];
    sceVshCommonGui_566AA22F (var185, var155, 0x00000006);
    var188 = ((int *) sp)[80];
    if (var188 == 0x00000000)
    {
      var191 = var155;
    }
    else
    {
      var189 = ((int *) var188)[1];
      var190 = var189 + 0xFFFFFFFF;
      ((int *) var188)[1] = var190;
      if (var190 <= 0)
      {
        var226 = ((int *) var188)[0];
        var227 = ((int *) var226)[1];
        var230 var231 = (*var227) (var188);
        var191 = var155;
      }
      else
      {
        var191 = var155;
      }
    }
    sub_13700 (var191, 0x00000000);
    var194 = ((int *) var1)[42];
    sceVshCommonGui_566AA22F (var194, var155, 0x00000007);
    var197 = ((int *) sp)[80];
    var198 = sp + 0x00000150;
    if (!(var197 == 0x00000000))
    {
      var199 = ((int *) var197)[1];
      var200 = var199 + 0xFFFFFFFF;
      ((int *) var197)[1] = var200;
      if (var200 <= 0)
      {
        var220 = ((int *) var197)[0];
        var221 = ((int *) var220)[1];
        var224 var225 = (*var221) (var197);
        var198 = sp + 0x00000150;
      }
      else
      {
        var198 = sp + 0x00000150;
      }
    }
    ((int *) sp)[84] = 0x00000000;
    ((int *) sp)[85] = 0x00000000;
    sub_0B3E4 (var198, 0x00000000);
    var203 = ((int *) var1)[42];
    sceVshCommonGui_B97EAE7A (var203, var198, 0x00000008);
    sub_0B3B4 (var198);
    ((int *) sp)[84] = 0x00000000;
    ((int *) sp)[85] = 0x00000000;
    sub_0B3E4 (var198, 0x00000000);
    var210 = ((int *) var1)[42];
    sceVshCommonGui_B97EAE7A (var210, var198, 0x00000009);
    sub_0B3B4 (var198);
    __asm__ ("mtc1       $zr, $fpr12;");
    var215 = ((int *) var1)[42];
    __asm__ ("mov.s      $fpr13, $fpr12;");
    sceVshCommonGui_4016357A (var215);
    sub_0E8B4 (var1);
    var6 = ((int *) sp)[2];
  }
  else
  {
    var6 = ((int *) sp)[2];
  }
  if ((var6 & 0x00000020) == 0x00000000)
  {
    var28 = var6 & 0x00000040;
  }
  else
  {
    var7 = ((int *) sp)[15];
    var8 = 0x0000000D;
    if (!(var7 == 0x00000001))
    {
      var8 = 0x0000000B;
    }
    var11 = sub_0CA5C (var1, var8, 0x00000002);
    __asm__ ("mtc1       $zr, $fpr12;");
    var12 = ((int *) var1)[41];
    __asm__ ("mov.s      $fpr13, $fpr12;");
    scePaf_62081F34 (var12, 0x00000002, var11);
    var17 = sub_0CA5C (var1, var8, 0x00000002);
    var18 = ((int *) var1)[41];
    __asm__ ("mtc1       $zr, $fpr12;");
    scePaf_B1F587EF (var18, 0x00000002, var17);
    var21 = ((int *) var1)[217];
    var22 = ((int *) var21)[1];
    ((int *) sp)[92] = var21;
    ((int *) sp)[76] = var22;
    if (var22 == var21)
    {

    label96:
      var27 = ((int *) sp)[2];
    }
    else
    {
      while (1) {
        var23 = ((int *) sp)[76];
        var24 = ((int *) var23)[2];
        var25 = ((int *) var24)[0];
        if (var25 == var8)
        {
          var151 = sp + 0x00000180;
          var152 = sp + 0x00000190;
          ((int *) sp)[100] = var23;
          sub_13720 (var151, (var1 + 0x00000364), var152);
          var27 = ((int *) sp)[2];
        }
        else
        {
          ((int *) sp)[100] = var23;
          var26 = ((int *) var23)[1];
          ((int *) sp)[92] = var21;
          ((int *) sp)[76] = var26;
          if (var26 != var21)
            continue;
          break;
        }
        goto label97;
      }
      goto label96;
    }

  label97:
    var28 = var27 & 0x00000040;
  }
  if (var28 != 0x00000000)
  {
    var131 = sub_0CA5C (var1, 0x0000000E, 0x00000003);
    __asm__ ("mtc1       $zr, $fpr12;");
    var132 = ((int *) var1)[41];
    __asm__ ("mov.s      $fpr13, $fpr12;");
    scePaf_62081F34 (var132, 0x00000003, var131);
    var137 = sub_0CA5C (var1, 0x0000000E, 0x00000003);
    var138 = ((int *) var1)[41];
    __asm__ ("mtc1       $zr, $fpr12;");
    scePaf_B1F587EF (var138, 0x00000003, var137);
    var141 = ((int *) var1)[220];
    var142 = ((int *) var141)[1];
    ((int *) sp)[100] = var141;
    ((int *) sp)[76] = var142;
    if (var142 == var141)
    {

    label116:
      var29 = ((int *) sp)[2];
    }
    else
    {
      while (1) {
        var143 = ((int *) sp)[76];
        var144 = ((int *) var143)[2];
        var145 = ((int *) var144)[0];
        if (var145 == 0x0000000E)
          break;
        ((int *) sp)[96] = var143;
        var146 = ((int *) var143)[1];
        ((int *) sp)[100] = var141;
        ((int *) sp)[76] = var146;
        if (var146 != var141)
          continue;
        var29 = ((int *) sp)[2];
        goto label117;
      }
      var147 = sp + 0x00000180;
      var148 = sp + 0x00000170;
      ((int *) sp)[92] = var143;
      sub_13720 (var147, (var1 + 0x00000370), var148);
      var29 = ((int *) sp)[2];
    }
  }
  else
  goto label116;

label117:
  if ((var29 & 0x00000090) == 0x00000090)
  {
    var95 = sub_0CA5C (var1, 0x00000012, 0x00000004);
    __asm__ ("mtc1       $zr, $fpr12;");
    var96 = ((int *) var1)[41];
    __asm__ ("mov.s      $fpr13, $fpr12;");
    scePaf_62081F34 (var96, 0x00000004, var95);
    var101 = sub_0CA5C (var1, 0x00000012, 0x00000004);
    var102 = ((int *) var1)[41];
    __asm__ ("mtc1       $zr, $fpr12;");
    scePaf_B1F587EF (var102, 0x00000004, var101);
    var105 = ((int *) var1)[223];
    var106 = var1 + 0x0000037C;
    var107 = ((int *) var105)[1];
    ((int *) sp)[100] = var105;
    ((int *) sp)[76] = var107;
    if (var107 == var105)
    {

    label135:
      var112 = var1;
    }
    else
    {
      while (1) {
        var108 = ((int *) sp)[76];
        var109 = ((int *) var108)[2];
        var110 = ((int *) var109)[0];
        if (var110 == 0x00000012)
        {
          var125 = sp + 0x00000180;
          var126 = sp + 0x00000170;
          ((int *) sp)[92] = var108;
          sub_13720 (var125, var106, var126);
          var112 = var1;
        }
        else
        {
          ((int *) sp)[96] = var108;
          var111 = ((int *) var108)[1];
          ((int *) sp)[100] = var105;
          ((int *) sp)[76] = var111;
          if (var111 != var105)
            continue;
          break;
        }
        goto label136;
      }
      goto label135;
    }

  label136:
    var115 = sub_0CA5C (var112, 0x00000014, 0x00000004);
    var116 = ((int *) var1)[41];
    __asm__ ("mtc1       $zr, $fpr12;");
    scePaf_B1F587EF (var116, 0x00000004, var115);
    var119 = ((int *) var1)[223];
    var120 = ((int *) var119)[1];
    ((int *) sp)[96] = var119;
    ((int *) sp)[76] = var120;
    if (!(var120 == var119))
    {
      while (1) {
        var121 = ((int *) sp)[76];
        var122 = ((int *) var121)[2];
        var123 = ((int *) var122)[0];
        if (var123 == 0x00000014)
          break;
        ((int *) sp)[104] = var121;
        var124 = ((int *) var121)[1];
        ((int *) sp)[96] = var119;
        ((int *) sp)[76] = var124;
        if (var124 != var119)
          continue;
        goto label178;
      }
      var71 = sp + 0x00000170;
      var65 = var106;
      var72 = sp + 0x000001A0;
      ((int *) sp)[104] = var121;

    label173:
      sub_13720 (var71, var65, var72);
    }
  }
  else
  {
    if ((var29 & 0x00000010) != 0x00000000)
    {
      var77 = sub_0CA5C (var1, 0x00000012, 0x00000004);
      __asm__ ("mtc1       $zr, $fpr12;");
      var78 = ((int *) var1)[41];
      __asm__ ("mov.s      $fpr13, $fpr12;");
      scePaf_62081F34 (var78, 0x00000004, var77);
      var83 = sub_0CA5C (var1, 0x00000012, 0x00000004);
      var84 = ((int *) var1)[41];
      __asm__ ("mtc1       $zr, $fpr12;");
      scePaf_B1F587EF (var84, 0x00000004, var83);
      var87 = ((int *) var1)[223];
      var65 = var1 + 0x0000037C;
      var88 = ((int *) var87)[1];
      ((int *) sp)[104] = var87;
      ((int *) sp)[76] = var88;
      if (!(var88 == var87))
      {
        while (1) {
          var89 = ((int *) sp)[76];
          var90 = ((int *) var89)[2];
          var91 = ((int *) var90)[0];
          if (var91 == 0x00000012)
            break;
          ((int *) sp)[100] = var89;
          var92 = ((int *) var89)[1];
          ((int *) sp)[104] = var87;
          ((int *) sp)[76] = var92;
          if (var92 != var87)
            continue;
          goto label178;
        }
        ((int *) sp)[96] = var89;

      label172:
        var71 = sp + 0x00000190;
        var72 = sp + 0x00000180;
        goto label173;
      }
    }
    else
    {
      if ((var29 & 0x00000080) != 0x00000000)
      {
        var60 = sub_0CA5C (var1, 0x00000014, 0x00000004);
        var61 = ((int *) var1)[41];
        __asm__ ("mtc1       $zr, $fpr12;");
        scePaf_B1F587EF (var61, 0x00000004, var60);
        var64 = ((int *) var1)[223];
        var65 = var1 + 0x0000037C;
        var66 = ((int *) var64)[1];
        ((int *) sp)[104] = var64;
        ((int *) sp)[76] = var66;
        if (!(var66 == var64))
        {
          while (1) {
            var67 = ((int *) sp)[76];
            var68 = ((int *) var67)[2];
            var69 = ((int *) var68)[0];
            if (var69 == 0x00000014)
              break;
            ((int *) sp)[100] = var67;
            var70 = ((int *) var67)[1];
            ((int *) sp)[104] = var64;
            ((int *) sp)[76] = var70;
            if (var70 != var64)
              continue;
            goto label178;
          }
          ((int *) sp)[96] = var67;
          goto label172;
        }
      }
    }
  }

label178:
  var32 = sceVshCommonGui_F7A03543 ();
  if (var32 != 0x00000000)
  {
    var52 = ((int *) var1)[41];
    __asm__ ("mtc1       $zr, $fpr12;");
    var53 = ((int *) var52)[206];
    var54 = ((int *) var52)[216];
    var55 = ((int *) (var54 + (var53 << 0x00000002)))[0];
    scePaf_9430557B (var55);
    var33 = ((int *) var1)[11];
  }
  else
  {
    var33 = ((int *) var1)[11];
  }
  ((char *) var1)[905] = 0x00000000;
  ((int *) var1)[11] = (var33 & 0xFFFFFDFF);
  var34 = sp;
  sub_12304 (var1, 0x00000000);
  var37 = sp + 0x00000130;
  if (!(sp == 0xFFFFFF90))
  {
    var38 = sp + 0x00000070;
    while (1) {
      if (var38 == var37)
        break;
      var37 = var37 + 0xFFFFFFF0;
      sub_0B3B4 ((var37 + 0x00000004));
      continue;
    }
  }
  sub_0B3B4 ((var34 + 0x0000005C));
  sub_0B3B4 ((var34 + 0x00000040));
  sub_0B3B4 ((var34 + 0x00000024));
  sub_0B3B4 ((var34 + 0x0000000C));
  ra = ((int *) sp)[111];
  var49 = ((int *) sp)[110];
  var50 = ((int *) sp)[109];
  var51 = ((int *) sp)[108];
  sp = sp + 0x000001C0;
  return;
}

/**
 * Subroutine at address 0x0000E8B4
 */
void sub_0E8B4 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[23];
  if ((((var1 + 0xFFFFFFF9) < 0x00000003)) == 0x00000000)
  {
    sceVshBridge_5D4213EA (0x00000000);
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000E8EC
 */
void sub_0E8EC (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s5;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  sub_0E180 (arg1);
  var4 = ((unsigned char *) var1)[906];
  if (var4 == 0x00000000)
  {

  label6:
    if (!(var4 != 0x00000000))
    {
      var55 = ((int *) var1)[41];
      ((char *) var1)[906] = 0x00000001;
      var56 = ((int *) var55)[205];
      var57 = 0xFFFFFFFF;
      if (!(((0x00000001 < var56)) == 0x00000000))
      {
        var58 = ((int *) var55)[216];
        var59 = ((int *) var58)[1];
        var57 = ((int *) var59)[204];
      }
      sub_0D71C (var1, 0x00000001, var57, 0x000201D4);
      var62 = ((int *) var1)[41];
      var63 = ((int *) var62)[205];
      var64 = 0xFFFFFFFF;
      if (!(((0x00000002 < var63)) == 0x00000000))
      {
        var65 = ((int *) var62)[216];
        var66 = ((int *) var65)[2];
        var64 = ((int *) var66)[204];
      }
      sub_0D71C (var1, 0x00000002, var64, 0x000202E4);
      var69 = ((int *) var1)[41];
      var70 = ((int *) var69)[205];
      var71 = 0xFFFFFFFF;
      if (!(((0x00000003 < var70)) == 0x00000000))
      {
        var72 = ((int *) var69)[216];
        var73 = ((int *) var72)[3];
        var71 = ((int *) var73)[204];
      }
      sub_0D71C (var1, 0x00000003, var71, 0x0002047C);
      var76 = ((int *) var1)[41];
      var77 = ((int *) var76)[205];
      var78 = 0xFFFFFFFF;
      if (!(((0x00000004 < var77)) == 0x00000000))
      {
        var79 = ((int *) var76)[216];
        var80 = ((int *) var79)[4];
        var78 = ((int *) var80)[204];
      }
      sub_0D71C (var1, 0x00000004, var78, 0x0002069C);
    }
  }
  else
  {
    var5 = ((unsigned char *) var1)[172];
    if (var5 == 0x00000000)
      goto label6;
    ((char *) var1)[172] = 0x00000000;
  }
  var7 = var1;
  while (1) {
    var10 = sub_0D898 (var7, var6);
    if (var10 == 0x00000000)
    {
      var6 = var6 + 0x00000001;
    }
    else
    {
      var11 = ((int *) var1)[41];
      if (var6 < 0)
      {

      label34:
        var14 = var6 << 0x00000002;
      }
      else
      {
        var12 = ((int *) var11)[205];
        if (((var6 < var12)) == 0x00000000)
        {
          goto label34;
        }
        else
        {
          var13 = ((int *) var11)[216];
          var14 = var6 << 0x00000002;
          var15 = ((int *) (var13 + var14))[0];
          var16 = ((int *) var15)[204];
        }
      }
      var17 = ((int *) var1)[41];
      var18 = var16 + 0xFFFFFFFF;
      var21 = scePaf_81667058 (var17, var6);
      var22 = ((int *) var1)[41];
      var23 = ((int *) var22)[216];
      var24 = ((int *) (var23 + var14))[0];
      scePaf_F554C7C7 (var24, var18, var18);
      var27 = ((int *) var1)[41];
      while (1) {
        var30 = scePaf_81667058 (var27, var6);
        __asm__ ("lwc1       $fpr12, -7048($s5);");
        if (((var30 < var18)) == 0x00000000)
          break;
        var31 = ((int *) var1)[41];
        var32 = ((int *) var31)[216];
        var33 = ((int *) (var32 + var14))[0];
        scePaf_5D242D11 (var33, 0x00000000);
        var36 = ((int *) var1)[41];
        continue;
      }
      var37 = ((int *) var1)[41];
      while (1) {
        var40 = scePaf_81667058 (var37, var6);
        if (((var18 < var40)) == 0x00000000)
          break;
        var41 = ((int *) var1)[41];
        __asm__ ("lwc1       $fpr12, -7048($s4);");
        var42 = ((int *) var41)[216];
        var43 = ((int *) (var42 + var14))[0];
        scePaf_42F43213 (var43, 0x00000000);
        var46 = ((int *) var1)[41];
        continue;
      }
      ((int *) (var14 + var1))[34] = 0x00000000;
      var6 = var6 + 0x00000001;
    }
    var7 = var1;
    if (((var6 < 0x00000005)) != 0x00000000)
      continue;
    break;
  }
  ((char *) var1)[113] = 0x00000000;
  sub_0F5BC (var1);
  ra = ((int *) sp)[6];
  var49 = ((int *) sp)[5];
  var50 = ((int *) sp)[4];
  var51 = ((int *) sp)[3];
  var52 = ((int *) sp)[2];
  var53 = ((int *) sp)[1];
  var54 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000EB60
 */
void sub_0EB60 (int arg1)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[4] = s0;
  ((int *) sp)[5] = ra;
  __asm__ ("swc1       $fpr20, 32($sp);"
    : 
    : "=r"(sp));
  var1 = ((unsigned char *) arg1)[906];
  var2 = arg1;
  if (var1 != 0x00000000)
  {
    var6 = sub_10DEC ();
    if (var6 != 0x00000000)
    {
      var7 = ((int *) var2)[210];
      ((char *) var2)[172] = 0x00000000;
      var10 = scePaf_DAB59652 (var7, "page_info");
      if (var10 == 0x00000000)
      {

      label15:
        var12 = ((int *) var2)[210];
        var15 = scePaf_DAB59652 (var12, "page_optionmenu");
        if (var15 == 0x00000000)
        {

        label23:
          var17 = var2;
        }
        else
        {
          var16 = ((int *) var2)[12];
          if (!(var16 == 0x00000002))
            goto label23;
          sub_14D54 (var15);
          var17 = var2;
        }
      }
      else
      {
        var11 = ((int *) var2)[12];
        if (!(var11 == 0x00000002))
          goto label15;
        sub_146C4 (var10);
        var17 = var2;
      }
      var20 = sub_0CA5C (var17, 0x0000000A, 0x00000001);
      ((int *) sp)[0] = 0x00000000;
      __asm__ ("lwc1       $fpr20, -7044($v0);"
               "lwc1       $fpr13, 0($sp);");
      var21 = ((int *) var2)[41];
      var22 = sp;
      __asm__ ("mov.s      $fpr12, $fpr20;");
      __asm__ ("swc1       $fpr13, 4($sp);"
               "swc1       $fpr13, 8($sp);"
        : 
        : "=r"(sp));
      __asm__ ("swc1       $fpr13, 12($sp);"
        : 
        : "=r"(sp));
      scePaf_2750CF68 (var21, 0x00000001, var20, var22);
      var27 = sub_0CA5C (var2, 0x0000000C, 0x00000002);
      ((int *) sp)[0] = 0x00000000;
      var28 = sp;
      __asm__ ("lwc1       $fpr13, 0($sp);");
      var29 = ((int *) var2)[41];
      __asm__ ("mov.s      $fpr12, $fpr20;");
      __asm__ ("swc1       $fpr13, 4($sp);"
               "swc1       $fpr13, 8($sp);"
        : 
        : "=r"(sp));
      __asm__ ("swc1       $fpr13, 12($sp);"
        : 
        : "=r"(sp));
      scePaf_2750CF68 (var29, 0x00000002, var27, var28);
      var34 = sub_0CA5C (var2, 0x0000000F, 0x00000003);
      ((int *) sp)[0] = 0x00000000;
      var35 = sp;
      __asm__ ("lwc1       $fpr13, 0($sp);");
      var36 = ((int *) var2)[41];
      __asm__ ("mov.s      $fpr12, $fpr20;");
      __asm__ ("swc1       $fpr13, 4($sp);"
               "swc1       $fpr13, 8($sp);"
        : 
        : "=r"(sp));
      __asm__ ("swc1       $fpr13, 12($sp);"
        : 
        : "=r"(sp));
      scePaf_2750CF68 (var36, 0x00000003, var34, var35);
      var41 = sub_0CA5C (var2, 0x00000013, 0x00000004);
      ((int *) sp)[0] = 0x00000000;
      var42 = sp;
      __asm__ ("lwc1       $fpr13, 0($sp);");
      var43 = ((int *) var2)[41];
      __asm__ ("mov.s      $fpr12, $fpr20;");
      __asm__ ("swc1       $fpr13, 4($sp);"
               "swc1       $fpr13, 8($sp);"
        : 
        : "=r"(sp));
      __asm__ ("swc1       $fpr13, 12($sp);"
        : 
        : "=r"(sp));
      scePaf_2750CF68 (var43, 0x00000004, var41, var42);
      sub_12304 (var2, 0x00000001);
      ((char *) var2)[906] = 0x00000000;
      __asm__ ("mov.s      $fpr12, $fpr20;");
      var48 = ((int *) var2)[41];
      scePaf_EF52945B (var48, 0x00000073, 0x0000ED48, var2);
      ra = ((int *) sp)[5];
    }
    else
    {
      ((char *) var2)[172] = 0x00000001;

    label46:
      ra = ((int *) sp)[5];
    }
  }
  else
  goto label46;
  var3 = ((int *) sp)[4];
  __asm__ ("lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0000ED48
 */
void sub_0ED48 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFF80;
  ((int *) sp)[28] = s0;
  var1 = arg4;
  ((int *) sp)[29] = ra;
  ((int *) sp)[0] = 0x00000000;
  var4 = sub_0CA5C (arg4, 0x0000000A, 0x00000001);
  __asm__ ("mtc1       $zr, $fpr12;");
  var5 = ((int *) var1)[41];
  scePaf_B1F587EF (var5, 0x00000001, var4);
  var8 = ((int *) var1)[214];
  var9 = var1 + 0x00000358;
  var10 = var9;
  var11 = ((int *) var8)[1];
  ((int *) sp)[4] = var8;
  ((int *) sp)[0] = var11;
  if (var11 == var8)
  {

  label14:
    var16 = var1;
  }
  else
  {
    while (1) {
      var12 = ((int *) sp)[0];
      var13 = ((int *) var12)[2];
      var14 = ((int *) var13)[0];
      if (var14 == 0x0000000A)
      {
        var86 = sp + 0x00000020;
        var87 = sp + 0x00000030;
        ((int *) sp)[12] = var12;
        sub_13720 (var86, var10, var87);
        var16 = var1;
      }
      else
      {
        ((int *) sp)[12] = var12;
        var10 = var9;
        var15 = ((int *) var12)[1];
        ((int *) sp)[4] = var8;
        ((int *) sp)[0] = var15;
        if (var15 != var8)
          continue;
        break;
      }
      goto label15;
    }
    goto label14;
  }

label15:
  var19 = sub_0CA5C (var16, 0x0000000C, 0x00000002);
  var20 = ((int *) var1)[41];
  __asm__ ("mtc1       $zr, $fpr12;");
  scePaf_B1F587EF (var20, 0x00000002, var19);
  var23 = ((int *) var1)[217];
  var24 = var1 + 0x00000364;
  var25 = var24;
  var26 = ((int *) var23)[1];
  ((int *) sp)[12] = var23;
  ((int *) sp)[0] = var26;
  if (var26 == var23)
  {

  label27:
    var31 = var1;
  }
  else
  {
    while (1) {
      var27 = ((int *) sp)[0];
      var28 = ((int *) var27)[2];
      var29 = ((int *) var28)[0];
      if (var29 == 0x0000000C)
      {
        var82 = sp + 0x00000020;
        var83 = sp + 0x00000040;
        ((int *) sp)[16] = var27;
        sub_13720 (var82, var25, var83);
        var31 = var1;
      }
      else
      {
        ((int *) sp)[16] = var27;
        var25 = var24;
        var30 = ((int *) var27)[1];
        ((int *) sp)[12] = var23;
        ((int *) sp)[0] = var30;
        if (var30 != var23)
          continue;
        break;
      }
      goto label28;
    }
    goto label27;
  }

label28:
  var34 = sub_0CA5C (var31, 0x0000000F, 0x00000003);
  var35 = ((int *) var1)[41];
  __asm__ ("mtc1       $zr, $fpr12;");
  scePaf_B1F587EF (var35, 0x00000003, var34);
  var38 = ((int *) var1)[220];
  var39 = var1 + 0x00000370;
  var40 = var39;
  var41 = ((int *) var38)[1];
  ((int *) sp)[16] = var38;
  ((int *) sp)[0] = var41;
  if (var41 == var38)
  {

  label40:
    var46 = var1;
  }
  else
  {
    while (1) {
      var42 = ((int *) sp)[0];
      var43 = ((int *) var42)[2];
      var44 = ((int *) var43)[0];
      if (var44 == 0x0000000F)
      {
        var78 = sp + 0x00000020;
        var79 = sp + 0x00000050;
        ((int *) sp)[20] = var42;
        sub_13720 (var78, var40, var79);
        var46 = var1;
      }
      else
      {
        ((int *) sp)[20] = var42;
        var40 = var39;
        var45 = ((int *) var42)[1];
        ((int *) sp)[16] = var38;
        ((int *) sp)[0] = var45;
        if (var45 != var38)
          continue;
        break;
      }
      goto label41;
    }
    goto label40;
  }

label41:
  var49 = sub_0CA5C (var46, 0x00000013, 0x00000004);
  var50 = ((int *) var1)[41];
  __asm__ ("mtc1       $zr, $fpr12;");
  scePaf_B1F587EF (var50, 0x00000004, var49);
  var53 = ((int *) var1)[223];
  var54 = var1 + 0x0000037C;
  var55 = var54;
  var56 = ((int *) var53)[1];
  ((int *) sp)[20] = var53;
  ((int *) sp)[0] = var56;
  if (!(var56 == var53))
  {
    while (1) {
      var57 = ((int *) sp)[0];
      var58 = ((int *) var57)[2];
      var59 = ((int *) var58)[0];
      if (var59 == 0x00000013)
      {
        var74 = sp + 0x00000020;
        var75 = sp + 0x00000060;
        ((int *) sp)[24] = var57;
        sub_13720 (var74, var55, var75);
      }
      else
      {
        ((int *) sp)[24] = var57;
        var55 = var54;
        var60 = ((int *) var57)[1];
        ((int *) sp)[20] = var53;
        ((int *) sp)[0] = var60;
        if (var60 != var53)
          continue;
        break;
      }
    }
  }
  var63 = sceVshCommonGui_F7A03543 ();
  if (var63 != 0x00000000)
  {
    var68 = ((int *) var1)[41];
    __asm__ ("mtc1       $zr, $fpr12;");
    var69 = ((int *) var68)[206];
    var70 = ((int *) var68)[216];
    var71 = ((int *) (var70 + (var69 << 0x00000002)))[0];
    scePaf_9430557B (var71);
    var64 = var1;
  }
  else
  {
    var64 = var1;
  }
  sub_12304 (var64, 0x00000000);
  ra = ((int *) sp)[29];
  var67 = ((int *) sp)[28];
  sp = sp + 0x00000080;
  return;
}

/**
 * Subroutine at address 0x0000EFBC
 */
void sub_0EFBC (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFF70;
  ((int *) sp)[28] = s4;
  ((int *) sp)[33] = ra;
  ((int *) sp)[32] = fp;
  ((int *) sp)[31] = s7;
  ((int *) sp)[30] = s6;
  ((int *) sp)[29] = s5;
  ((int *) sp)[27] = s3;
  ((int *) sp)[26] = s2;
  ((int *) sp)[25] = s1;
  ((int *) sp)[24] = s0;
  var1 = ((int *) arg1)[41];
  var2 = arg1;
  if (var1 == 0x00000000)
  {

  label150:
    ra = ((int *) sp)[33];

  label151:
    var8 = ((int *) sp)[32];
  }
  else
  {
    var3 = ((int *) var1)[205];
    if (((var3 < arg2)) != 0x00000000)
    {
      ra = ((int *) sp)[33];
      goto label151;
    }
    else
    {
      var4 = 0xFFFFFFFF;
      if (!(arg2 < 0))
      {
        if (((arg2 < var3)) == 0x00000000)
        {
          var4 = 0xFFFFFFFF;
        }
        else
        {
          var5 = ((int *) var1)[216];
          var6 = ((int *) (var5 + (arg2 << 0x00000002)))[0];
          var4 = ((int *) var6)[204];
        }
      }
      ra = ((int *) sp)[33];
      if (((var4 < arg3)) != 0x00000000)
        goto label151;
      var7 = ((int *) var2)[210];
      var8 = ((int *) sp)[32];
      if (!(var7 == 0x00000000))
      {
        var9 = arg4;
        if (arg4 == 0x00000000)
        {
          var257 = ((int *) (var2 + (((arg2 << 0x00000001) + arg2) << 0x00000002)))[211];
          var258 = sp;
          var259 = arg3;
          var260 = ((int *) var257)[1];
          ((int *) sp)[0] = var260;
          if (!(arg3 <= 0))
          {
            while (1) {
              var261 = ((int *) var258)[0];
              var259 = var259 + 0xFFFFFFFF;
              var262 = ((int *) var261)[1];
              ((int *) var258)[0] = var262;
              if (var259 > 0)
                continue;
              break;
            }
          }
          var263 = ((int *) sp)[0];
          var9 = ((int *) var263)[2];
        }
        var10 = ((unsigned char *) var9)[25];
        var11 = ((int *) var1)[0];
        if (var10 == 0x00000000)
        {
          var12 = arg2 << 0x00000018;
          var13 = arg3 << 0x00000010;
          var199 = ((int *) var11)[27];
          var200 = var12 | var13;
          var21 = sp + 0x00000010;
          var203 var204 = (*var199) (var1, (var200 | 0x00000030), 0x00000001, arg4, var1, arg6, arg7, arg8);
          sub_13700 (var21, 0x00000000);
          var207 = ((int *) var2)[41];
          var208 = ((int *) var207)[0];
          var209 = var12;
          var210 = ((int *) var208)[42];
          var211 = var13;
          var212 = var21;
          var215 var216 = (*var210) (var207, var21, (var200 | 0x0000000A));
          var217 = ((int *) sp)[4];
          if (var217 == 0x00000000)
          {
            var220 = var212;
          }
          else
          {
            var218 = ((int *) var217)[1];
            var219 = var218 + 0xFFFFFFFF;
            ((int *) var217)[1] = var219;
            if (var219 <= 0)
            {
              var251 = ((int *) var217)[0];
              var252 = ((int *) var251)[1];
              var255 var256 = (*var252) (var217);
              var220 = var212;
            }
            else
            {
              var220 = var212;
            }
          }
          sub_13700 (var220, 0x00000000);
          var223 = ((int *) var2)[41];
          var224 = ((int *) var223)[0];
          var225 = ((int *) var224)[42];
          var228 var229 = (*var225) (var223, var212, ((var209 | var211) | 0x0000000B));
          var230 = ((int *) sp)[4];
          var40 = sp + 0x00000020;
          if (!(var230 == 0x00000000))
          {
            var231 = ((int *) var230)[1];
            var232 = var231 + 0xFFFFFFFF;
            ((int *) var230)[1] = var232;
            if (var232 <= 0)
            {
              var245 = ((int *) var230)[0];
              var246 = ((int *) var245)[1];
              var249 var250 = (*var246) (var230);
              var40 = sp + 0x00000020;
            }
            else
            {
              var40 = sp + 0x00000020;
            }
          }
          ((int *) sp)[8] = 0x00000000;
          ((int *) sp)[9] = 0x00000000;
          sub_0B3E4 (var40, 0x00000000);
          var235 = ((int *) var2)[41];
          var236 = ((int *) var235)[0];
          var237 = ((int *) var236)[44];
          var240 var241 = (*var237) (var235, var40, ((var209 | var211) | 0x00000005));
          sub_0B3B4 (var40);
          var244 = ((int *) var2)[210];
        }
        else
        {
          var12 = arg2 << 0x00000018;
          var13 = arg3 << 0x00000010;
          var14 = ((int *) var11)[27];
          var15 = var12 | var13;
          var18 var19 = (*var14) (var1, (var15 | 0x00000030), 0x00000002, arg4, var1, arg6, arg7, arg8);
          var20 = ((int *) var2)[40];
          var21 = sp + 0x00000010;
          scePaf_DC2CA0F7 (var21, var20, "tex_line");
          var24 = ((int *) var2)[41];
          var25 = ((int *) var24)[0];
          var26 = ((int *) var25)[42];
          var27 = var21;
          var30 var31 = (*var26) (var24, var21, (var15 | 0x0000000A));
          var32 = ((int *) sp)[4];
          if (var32 == 0x00000000)
          {
            var198 = ((int *) var2)[40];
          }
          else
          {
            var33 = ((int *) var32)[1];
            var34 = var33 + 0xFFFFFFFF;
            ((int *) var32)[1] = var34;
            if (var34 <= 0)
            {
              var191 = ((int *) var32)[0];
              var192 = ((int *) var191)[1];
              var195 var196 = (*var192) (var32);
              var197 = ((int *) var2)[40];
            }
            else
            {
              var35 = ((int *) var2)[40];
            }
          }
          scePaf_DC2CA0F7 (var27, var35, "tex_line_shadow");
          var38 = ((int *) var2)[41];
          var39 = ((int *) var38)[0];
          var40 = sp + 0x00000020;
          var41 = ((int *) var39)[42];
          var44 var45 = (*var41) (var38, var27, ((var12 | var13) | 0x0000000B));
          var46 = ((int *) sp)[4];
          if (var46 == 0x00000000)
          {
            var190 = ((int *) var2)[210];
          }
          else
          {
            var47 = ((int *) var46)[1];
            var40 = sp + 0x00000020;
            var48 = var47 + 0xFFFFFFFF;
            ((int *) var46)[1] = var48;
            if (var48 <= 0)
            {
              var183 = ((int *) var46)[0];
              var184 = ((int *) var183)[1];
              var187 var188 = (*var184) (var46);
              var189 = ((int *) var2)[210];
            }
            else
            {
              var49 = ((int *) var2)[210];
            }
          }
        }
        scePaf_DC2CA0F7 (var21, var49, (var9 + 0x0000001B));
        var52 = ((int *) var2)[41];
        var53 = ((int *) var52)[0];
        var54 = ((int *) var53)[42];
        var57 var58 = (*var54) (var52, var21, (var12 | var13));
        var59 = ((int *) sp)[4];
        if (var59 == 0x00000000)
        {
          var182 = ((int *) var2)[210];
        }
        else
        {
          var60 = ((int *) var59)[1];
          var61 = var60 + 0xFFFFFFFF;
          ((int *) var59)[1] = var61;
          if (var61 <= 0)
          {
            var175 = ((int *) var59)[0];
            var176 = ((int *) var175)[1];
            var179 var180 = (*var176) (var59);
            var181 = ((int *) var2)[210];
          }
          else
          {
            var62 = ((int *) var2)[210];
          }
        }
        scePaf_DC2CA0F7 (var21, var62, (var9 + 0x00000033));
        var65 = ((int *) var2)[41];
        var66 = ((int *) var65)[0];
        var67 = ((int *) var66)[42];
        var70 var71 = (*var67) (var65, var21, ((var12 | var13) | 0x0000000E));
        var72 = ((int *) sp)[4];
        if (var72 == 0x00000000)
        {
          var174 = ((int *) var2)[210];
        }
        else
        {
          var73 = ((int *) var72)[1];
          var74 = var73 + 0xFFFFFFFF;
          ((int *) var72)[1] = var74;
          if (var74 <= 0)
          {
            var167 = ((int *) var72)[0];
            var168 = ((int *) var167)[1];
            var171 var172 = (*var168) (var72);
            var173 = ((int *) var2)[210];
          }
          else
          {
            var75 = ((int *) var2)[210];
          }
        }
        scePaf_DC2CA0F7 (var21, var75, (var9 + 0x0000004B));
        var78 = ((int *) var2)[41];
        var79 = ((int *) var78)[0];
        var80 = ((int *) var79)[42];
        var83 var84 = (*var80) (var78, var21, ((var12 | var13) | 0x00000007));
        var85 = ((int *) sp)[4];
        if (var85 == 0x00000000)
        {
          var88 = ((int *) var9)[0];
        }
        else
        {
          var86 = ((int *) var85)[1];
          var87 = var86 + 0xFFFFFFFF;
          ((int *) var85)[1] = var87;
          if (var87 <= 0)
          {
            var161 = ((int *) var85)[0];
            var162 = ((int *) var161)[1];
            var165 var166 = (*var162) (var85);
            var88 = ((int *) var9)[0];
          }
          else
          {
            var88 = ((int *) var9)[0];
          }
        }
        if (var88 == 0x00000014)
        {
          var154 = scePaf_5DFB5858 ();
          var155 = ((int *) var154)[36];
          var156 = ((unsigned char *) ((var155 << 0x00000004) + var2))[312];
          if (var156 == 0x00000000)
          {
            var93 = ((int *) var2)[73];

          label114:
            var94 = var40;
          }
          else
          {
            var159 = scePaf_5DFB5858 ();
            var160 = ((int *) var159)[36];
            var94 = var40;
            var93 = ((int *) (var2 + (var160 << 0x00000004)))[79];
          }
        }
        else
        {
          var89 = ((int *) var2)[210];
          var92 = scePaf_BB3CBD19 (var89, (var9 + 0x00000063), 0xFFFFFFFF);
          var93 = var92;
          goto label114;
        }
        ((int *) sp)[8] = 0x00000000;
        ((int *) sp)[9] = 0x00000000;
        sub_0B3E4 (var94, var93);
        var97 = ((int *) var2)[41];
        var98 = ((int *) var97)[0];
        var99 = ((int *) var98)[44];
        var102 var103 = (*var99) (var97, var40, ((var12 | var13) | 0x00000004));
        sub_0B3B4 (var40);
        var106 = ((int *) var9)[0];
        if (((((var106 ^ 0x0000000A) < 0x00000001)) | (((var106 ^ 0x0000000C) < 0x00000001))) != 0x00000000)
        {

        label125:
          var117 = sub_11084 (var2);
          var118 = sp + 0x00000040;
          sceVshCommonUtil_BFC546B6 (var118, 0x00000008, var117);
          var121 = ((int *) var2)[210];
          var124 = scePaf_BB3CBD19 (var121, "msgshare_info_space", 0xFFFFFFFF);
          ((int *) sp)[8] = 0x00000000;
          var125 = sp + 0x00000050;
          ((int *) sp)[9] = 0x00000000;
          sub_0B3E4 (var40, var124);
          var130 = scePaf_FD4C9F47 (0x0001DFDC);
          sub_13788 (var40, 0x0001DFDC, var130);
          var135 = scePaf_FD4C9F47 (var118);
          sub_13788 (var40, var118, var135);
          var138 = ((int *) sp)[8];
          ((int *) sp)[20] = 0x00000000;
          ((int *) sp)[21] = 0x00000000;
          sub_0B3E4 (var125, var138);
          var141 = ((int *) var2)[41];
          var142 = ((int *) var141)[0];
          var143 = ((int *) var142)[44];
          var146 var147 = (*var143) (var141, var125, ((var12 | var13) | 0x00000005));
          sub_0B3B4 (var125);
          sub_0B3B4 (var40);
          ra = ((int *) sp)[33];
        }
        else
        {
          if (var106 == 0x0000000F)
          {
            goto label125;
          }
          else
          {
            if (var106 == 0x00000013)
              goto label125;
            goto label150;
          }
        }
        goto label151;
      }
    }
  }
  var107 = ((int *) sp)[31];
  var108 = ((int *) sp)[30];
  var109 = ((int *) sp)[29];
  var110 = ((int *) sp)[28];
  var111 = ((int *) sp)[27];
  var112 = ((int *) sp)[26];
  var113 = ((int *) sp)[25];
  var114 = ((int *) sp)[24];
  sp = sp + 0x00000090;
  return;
}

/**
 * Subroutine at address 0x0000F5BC
 */
void sub_0F5BC (int arg1)
{
  sp = sp + 0xFFFFFF50;
  ((int *) sp)[35] = s3;
  ((int *) sp)[41] = ra;
  ((int *) sp)[40] = fp;
  ((int *) sp)[39] = s7;
  ((int *) sp)[38] = s6;
  ((int *) sp)[37] = s5;
  ((int *) sp)[36] = s4;
  ((int *) sp)[34] = s2;
  ((int *) sp)[33] = s1;
  ((int *) sp)[32] = s0;
  var1 = ((int *) arg1)[202];
  var2 = ((int *) var1)[23];
  var3 = arg1;
  var6 var7 = (*var2) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
  ra = ((int *) sp)[41];
  if (var6 == 0x00000002)
  {
    var19 = sub_11084 (var3);
    var20 = sp;
    sceVshCommonUtil_BFC546B6 (var20, 0x00000008, var19);
    var23 = ((int *) var3)[210];
    var26 = scePaf_BB3CBD19 (var23, "msgshare_info_space", 0xFFFFFFFF);
    var27 = sp + 0x00000010;
    ((int *) sp)[4] = 0x00000000;
    ((int *) sp)[28] = 0x00000001;
    var28 = var3 + 0x0000000C;
    ((int *) sp)[5] = 0x00000000;
    sub_0B3E4 (var27, var26);
    var33 = scePaf_FD4C9F47 (0x0001DFDC);
    var34 = sp + 0x00000010;
    sub_13788 (var34, 0x0001DFDC, var33);
    var37 = sp;
    var40 = scePaf_FD4C9F47 (var37);
    var41 = sp + 0x00000010;
    var42 = sp;
    sub_13788 (var41, var42, var40);
    ((int *) sp)[12] = 0x00000000;
    while (1) {
      var45 = ((int *) var28)[211];
      var46 = 0x00000000;
      var47 = ((int *) var45)[1];
      ((int *) sp)[16] = var45;
      ((int *) sp)[12] = var47;
      if (!(var47 == var45))
      {
        var48 = ((int *) sp)[28];
        var49 = sp + 0x00000050;
        while (1) {
          var50 = ((int *) sp)[12];
          var51 = ((int *) var50)[2];
          var52 = ((int *) var51)[0];
          if (var52 == 0x0000000A)
          {
            var61 = ((int *) sp)[4];

          label32:
            ((int *) sp)[20] = 0x00000000;
            ((int *) sp)[21] = 0x00000000;
            sub_0B3E4 (var49, var61);
            var64 = ((int *) var3)[41];
            var65 = ((int *) var64)[0];
            var66 = ((int *) var65)[44];
            var69 var70 = (*var66) (var64, var49, (((var48 << 0x00000018) | (var46 << 0x00000010)) | 0x00000005));
            sub_0B3B4 (var49);
            var53 = ((int *) sp)[12];
          }
          else
          {
            if (var52 == 0x0000000C)
            {
              var61 = ((int *) sp)[4];
              goto label32;
            }
            else
            {
              if (var52 == 0x0000000F)
              {
                var61 = ((int *) sp)[4];
                goto label32;
              }
              else
              {
                if (var52 == 0x00000013)
                {
                  var61 = ((int *) sp)[4];
                  goto label32;
                }
                else
                {
                  var53 = ((int *) sp)[12];
                }
              }
            }
          }
          var46 = var46 + 0x00000001;
          ((int *) sp)[24] = var53;
          var54 = ((int *) var53)[1];
          ((int *) sp)[12] = var54;
          var55 = ((int *) var28)[211];
          ((int *) sp)[16] = var55;
          if (var54 != var55)
            continue;
          break;
        }
      }
      var56 = ((int *) sp)[28];
      var28 = var28 + 0x0000000C;
      var57 = var56 + 0x00000001;
      ((int *) sp)[28] = var57;
      if (((var57 < 0x00000005)) != 0x00000000)
        continue;
      break;
    }
    var58 = sp + 0x00000010;
    sub_0B3B4 (var58);
    ra = ((int *) sp)[41];
  }
  var8 = ((int *) sp)[40];
  var9 = ((int *) sp)[39];
  var10 = ((int *) sp)[38];
  var11 = ((int *) sp)[37];
  var12 = ((int *) sp)[36];
  var13 = ((int *) sp)[35];
  var14 = ((int *) sp)[34];
  var15 = ((int *) sp)[33];
  var16 = ((int *) sp)[32];
  sp = sp + 0x000000B0;
  return;
}

/**
 * Subroutine at address 0x0000F7B4
 */
int sub_0F7B4 (int arg1)
{
  sp = sp + 0xFFFFFF40;
  ((int *) sp)[43] = s3;
  ((int *) sp)[45] = ra;
  ((int *) sp)[44] = s4;
  ((int *) sp)[42] = s2;
  ((int *) sp)[41] = s1;
  ((int *) sp)[40] = s0;
  var1 = ((int *) arg1)[24];
  var2 = arg1;
  if (var1 < 0)
  {
    var8 = 0x00000003;
    var9 = sp;
    while (1) {
      var8 = var8 + 0xFFFFFFFF;
      ((int *) var9)[0] = 0x00000000;
      ((int *) var9)[1] = 0x00000000;
      ((int *) var9)[3] = 0x00000000;
      ((int *) var9)[4] = 0x00000000;
      ((int *) var9)[6] = 0x00000000;
      ((int *) var9)[7] = 0x00000000;
      var9 = var9 + 0x00000024;
      if (var8 != 0xFFFFFFFF)
        continue;
      break;
    }
    var10 = sp;
    sub_05960 (var10);
    var13 = 0x00000000;
    var14 = sp;
    var15 = ((int *) var14)[0];
    while (1) {
      var16 = *((char *) 0x0001DFE4);
      var17 = ((char *) var15)[0];
      var14 = var14 + 0x00000024;
      var18 = 0x00000000;
      if (var17 == var16)
      {
        var34 = scePaf_66FE90D7 (var15, "release");
        if (var34 == 0x00000000)
        {
          var18 = 0x00000001;
        }
        else
        {
        }
      }
      if (var18 != 0x00000000)
        break;
      var13 = var13 + 0x00000001;
      if (((var13 < 0x00000004)) != 0x00000000)
      {
        var15 = ((int *) var14)[0];
        continue;
      }
      else
      {
        goto label23;
      }
      goto label24;
    }
    if (((var13 < 0x00000004)) == 0x00000000)
    {

    label23:
      ((int *) var2)[24] = 0xFFFFFC13;
    }
    else
    {
      var27 = sp + (((var13 << 0x00000003) + var13) << 0x00000002);
      var28 = ((int *) var27)[3];
      var31 = sceVshCommonUtil_81B52E61 (var28);
      ((int *) var2)[24] = var31;
    }

  label24:
    var19 = sp;
    var20 = sp + 0x00000090;
    while (1) {
      if (var19 == var20)
        break;
      var20 = var20 + 0xFFFFFFDC;
      sub_01988 ((var20 + 0x00000018));
      sub_01988 ((var20 + 0x0000000C));
      sub_01988 (var20);
      continue;
    }
    var1 = ((int *) var2)[24];
  }
  ra = ((int *) sp)[45];
  var3 = ((int *) sp)[44];
  var4 = ((int *) sp)[43];
  var5 = ((int *) sp)[42];
  var6 = ((int *) sp)[41];
  var7 = ((int *) sp)[40];
  sp = sp + 0x000000C0;
  return var1;
}

/**
 * Subroutine at address 0x0000F8FC
 */
int sub_0F8FC (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  var1 = arg1;
  ((int *) sp)[1] = s1;
  var2 = arg3;
  ((int *) sp)[0] = s0;
  var3 = arg2;
  ((int *) sp)[3] = ra;
  if (arg2 == 0x00000006)
  {
    if ((((arg3 + 0xFFFFFFFE) < 0x00000002)) == 0x00000000)
    {

    label14:
      if (var3 == 0x00000008)
      {
        if ((((var2 + 0xFFFFFFFD) < 0x00000002)) == 0x00000000)
        {
          var4 = var3 ^ 0x00000008;

        label22:
          if ((((var4 < 0x00000001)) & ((var2 < 0x00000002))) != 0x00000000)
          {
            var23 = sub_11938 (var1, 0x00000004);
            var24 = var1;
            var25 = 0x00000004;

          label26:
            if (var23 == 0x00000000)
            {
              var32 = var1;

            label28:
              sub_0FA78 (var32, 0x00000008);
              var5 = 0xFFFFF82A;
            }
            else
            {
              var28 = sub_119BC (var24, var25);
              if (var28 != 0x00000000)
              {
                var5 = 0x00000000;
              }
              else
              {
                ((int *) var1)[18] = var2;
                var29 = 0x00000002;

              label36:
                ((int *) var1)[17] = var3;
                sub_092FC (var29);
                var5 = 0xFFFFF82B;
              }
            }
          }
          else
          {
            var5 = 0x00000000;
            if (((((var3 ^ 0x0000000E) < 0x00000001)) & (((var2 ^ 0x00000001) < 0x00000001))) != 0x00000000)
            {
              var11 = sub_0F7B4 (var1);
              var12 = ((int *) var1)[77];
              var13 = var1;
              var14 = 0x0000000A;
              if (((var12 < var11)) != 0x00000000)
              {

              label48:
                sub_0FA78 (var13, var14);
                var5 = 0xFFFFF82E;
              }
              else
              {
                var17 = sub_0F7B4 (var1);
                var18 = ((int *) var1)[77];
                if (var18 != var17)
                {
                  var5 = 0x00000000;
                }
                else
                {
                  var13 = var1;
                  var14 = 0x00000009;
                  goto label48;
                }
              }
            }
          }
        }
        else
        {
          var23 = sub_11938 (var1, 0x00000003);
          var24 = var1;
          var25 = 0x00000003;
          goto label26;
        }
      }
      else
      {
        var4 = var3 ^ 0x00000008;
        goto label22;
      }
    }
    else
    {
      var39 = sub_11938 (arg1, 0x00000001);
      var32 = var1;
      if (var39 == 0x00000000)
        goto label28;
      var42 = sub_119BC (var32, 0x00000001);
      if (var42 != 0x00000000)
      {
        var5 = 0x00000000;
      }
      else
      {
        var29 = 0x00000003;
        ((int *) var1)[18] = var2;
        goto label36;
      }
    }
  }
  else
  {
    goto label14;
  }
  ra = ((int *) sp)[3];
  var6 = ((int *) sp)[2];
  var7 = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var5;
}

/**
 * Subroutine at address 0x0000FA78
 */
void sub_0FA78 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFA0;
  ((int *) sp)[18] = s2;
  var1 = arg2;
  ((int *) sp)[17] = s1;
  ((int *) sp)[20] = ra;
  ((int *) sp)[19] = s3;
  ((int *) sp)[16] = s0;
  var2 = ((unsigned char *) arg1)[101];
  var3 = arg1;
  if (var2 != 0x00000000)
  {

  label50:
    ra = ((int *) sp)[20];
  }
  else
  {
    var4 = ((unsigned char *) arg1)[100];
    if (!(var4 != 0x00000000))
      goto label50;
    var9 = ((int *) arg1)[210];
    var12 = scePaf_DAB59652 (var9, "page_info");
    ra = ((int *) sp)[20];
    if (!(var12 != 0x00000000))
    {
      var13 = ((int *) var3)[11];
      ((char *) var3)[101] = 0x00000001;
      ((int *) var3)[11] = (var13 | 0x00000004);
      var14 = sp;
      ((int *) sp)[0] = 0x00000000;
      ((int *) sp)[1] = 0x00000000;
      sub_01A8C (var14, 0x0001DF64);
      if (((var1 < 0x0000000D)) == 0x00000000)
      {
        var22 = ((int *) var3)[41];
      }
      else
      {
        var17 = ((int *) ((var1 << 0x00000002) + 0x0001E198))[0];
        switch () {
        case 0:
          var18 = "msgshare_error_content_corrupted_game";

        label25:
          var19 = sp;
          sub_01A8C (var19, var18);
          var22 = ((int *) var3)[41];
          goto label28;
        case 1:
          var18 = "msgshare_error_content_corrupted_video";
          goto label25;
        case 2:
          var18 = "msgshare_error_content_corrupted_music";
          goto label25;
        case 3:
          var18 = "msgshare_error_notload_disc";
          goto label25;
        case 4:
        case 11:
          var18 = "msgshare_error_invalid_disc";
          goto label25;
        case 5:
          var18 = "msgshare_error_wrong_region_disc_video";
          goto label25;
        case 6:
          var18 = "msgshare_error_wrong_region_disc_game";
          goto label25;
        case 7:
          var18 = "msgshare_error_update_require";
          goto label25;
        case 8:
          var18 = "msgshare_error_update_require_videomusic";
          goto label25;
        case 9:
          var18 = "msgshare_same_installed";
          goto label25;
        case 10:
          var18 = "msgshare_new_installed";
          goto label25;
        case 12:
          var18 = "msgtop_error_ms_wrong_format";
          goto label25;
        }
      }

    label28:
      var23 = ((int *) var3)[210];
      var24 = ((int *) sp)[0];
      var25 = ((int *) var22)[116];
      var28 = scePaf_BB3CBD19 (var23, var24, 0xFFFFFFFF);
      var29 = sp + 0x00000020;
      ((int *) sp)[8] = 0x00000000;
      ((int *) sp)[9] = 0x00000000;
      sub_0B3E4 (var29, var28);
      var34 = sceVshCommonGui_1A6F3382 (var25, var29, 0x00000002, 0x0000FDE0, 0x00000007, 0x00000000, var3);
      ((int *) var3)[204] = var34;
      sub_0B3B4 (var29);
      if (var1 == 0x0000000C)
      {
        var50 = ((int *) var3)[204];
        ((int *) var3)[204] = 0x00000000;
        ((int *) var3)[205] = var50;
      }
      var37 = ((int *) var3)[40];
      var40 = scePaf_BB3CBD19 (var37, "msgsystem_back", 0xFFFFFFFF);
      sceVshCommonGui_54BC644C (var29, var40);
      sub_0B3B4 (var29);
      sceVshCommonGui_441D55D7 (0x00000001);
      var47 = sp;
      sub_01988 (var47);
      ra = ((int *) sp)[20];
    }
  }
  var5 = ((int *) sp)[19];
  var6 = ((int *) sp)[18];
  var7 = ((int *) sp)[17];
  var8 = ((int *) sp)[16];
  sp = sp + 0x00000060;
  return;
}

/**
 * Subroutine at address 0x0000FC8C
 */
void sub_0FC8C (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var3 = sub_0FCC8 (arg1);
  if (var3 == 0x00000000)
  {
    sub_0FD24 (arg1);
    ra = ((int *) sp)[1];
  }
  else
  {
    ra = ((int *) sp)[1];
  }
  var4 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000FCC8
 */
int sub_0FCC8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = 0x00000000;
  ((int *) sp)[1] = ra;
  var2 = ((unsigned char *) arg1)[101];
  var3 = arg1;
  if (!(var2 == 0x00000000))
  {
    var4 = ((int *) arg1)[204];
    if (var4 != 0x00000000)
    {
      sceVshCommonGui_72E652AA (var4);
      ((int *) var3)[204] = 0x00000000;
      sub_0FDE0 (0x00000000, var3);
      var1 = 0x00000001;
    }
  }
  ra = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var1;
}

/**
 * Subroutine at address 0x0000FD24
 */
void sub_0FD24 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((unsigned char *) arg1)[101];
  if (var1 != 0x00000000)
  {
    var4 = scePaf_D4FAE7D0 ("auth_plugin");
    if (var4 == 0x00000000)
    {

    label13:
    }
    else
    {
      var7 = scePaf_338C3774 (var4, 0x00000001);
      if (var7 == 0x00000000)
      {
      }
      else
      {
        var8 = ((int *) var7)[1];
        var11 var12 = (*var8) ();
      }
    }
  }
  else
  goto label13;
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000FD84
 */
void sub_0FD84 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = 0x00000000;
  ((int *) sp)[1] = ra;
  var2 = ((unsigned char *) arg1)[101];
  var3 = arg1;
  if (!(var2 == 0x00000000))
  {
    var4 = ((int *) arg1)[205];
    if (var4 != 0x00000000)
    {
      sceVshCommonGui_72E652AA (var4);
      ((int *) var3)[205] = 0x00000000;
      sub_0FDE0 (0x00000000, var3);
      var1 = 0x00000001;
    }
  }
  ra = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000FDE0
 */
void sub_0FDE0 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg2;
  ((int *) sp)[1] = ra;
  var2 = ((int *) arg2)[9];
  ((char *) var1)[101] = 0x00000000;
  var3 = var2 | 0x0000000C;
  ((int *) var1)[204] = 0x00000000;
  ((int *) var1)[205] = 0x00000000;
  ((int *) var1)[9] = var3;
  if ((var3 & 0x00000040) != 0x00000000)
  {
    sub_12388 (var1, 0x00000000);
    var4 = ((int *) var1)[11];
  }
  else
  {
    var4 = ((int *) var1)[11];
  }
  ((int *) var1)[11] = (var4 | 0x00000030);
  var7 = sub_0C6A8 (var1);
  if (var7 != 0x00000000)
  {
    var11 = ((int *) var1)[41];
    __asm__ ("lwc1       $fpr12, -7040($v0);");
    scePaf_EF52945B (var11, 0x0000006F, 0x00009D4C, 0x00000000);
  }
  sceVshCommonGui_441D55D7 (0x00000000);
  ra = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0000FE80
 */
int sub_0FE80 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = 0x00000000;
  var2 = ((int *) arg1)[206];
  if (var2 != 0x00000000)
  {
    var5 = sub_12928 (var2, arg2);
    var1 = var5;
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var1;
}

/**
 * Subroutine at address 0x0000FEB8
 */
void sub_0FEB8 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  ((int *) sp)[4] = ra;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var1 = ((int *) arg1)[42];
  var2 = arg1;
  if (var1 == 0x00000000)
  {
    var9 = sub_119BC (arg1, arg2);
    var12 = scePaf_B7E6052B (0x00000070);
    var13 = ((int *) var2)[210];
    var14 = var12;
    var17 = scePaf_4708AED4 (var13, "page_content_info_bg");
    var18 = ((int *) var2)[210];
    var21 = scePaf_4708AED4 (var18, "page_content_info_fg");
    sceVshCommonGui_35E7A91E (var14, (((0x00000000 - ((var9 < 0x00000001))) & 0x00000F00) + 0x00000100), var17, var21);
    ((int *) var2)[42] = var14;
  }
  ra = ((int *) sp)[4];
  var3 = ((int *) sp)[3];
  var4 = ((int *) sp)[2];
  var5 = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0000FF5C
 */
void sub_0FF5C (int arg1)
{
  sp = sp + 0xFFFFFF80;
  ((int *) sp)[30] = ra;
  ((int *) sp)[26] = s2;
  var1 = arg1;
  ((int *) sp)[25] = s1;
  ((int *) sp)[29] = s5;
  ((int *) sp)[28] = s4;
  ((int *) sp)[27] = s3;
  ((int *) sp)[24] = s0;
  var4 = sub_11A58 (arg1);
  var5 = var4;
  sub_0FEB8 (var1, var4);
  var8 = ((int *) var1)[42];
  if (var8 == 0x00000000)
  {
    var19 = var1;

  label20:
    var22 = sub_119BC (var19, var5);
    var23 = sp + 0x00000020;
    if (var22 != 0x00000000)
    {
      sub_13700 (var23, 0x00000000);
      var253 = ((int *) var1)[15];
      var254 = var23;
      if (((var253 < 0x00000005)) == 0x00000000)
      {
      case 1:
      case 4:

      label39:
        var438 = sp;
        sub_13854 (var438, 0x00000000);
        var441 = ((int *) var1)[42];
        var442 = sp;
        sceVshCommonGui_C4D809CB (var441, var442, 0x00000000);
        var445 = ((int *) sp)[0];
        if (var445 != 0x00000000)
        {
          scePaf_BA09CF46 (var445);
          var446 = sp + 0x00000010;
        }
        else
        {
          var446 = sp + 0x00000010;
        }
        sub_13874 (var446, 0x00000000);
        var449 = ((int *) var1)[42];
        sceVshCommonGui_72C75A14 (var449, var446);
        var452 = ((int *) sp)[4];
        if (var452 != 0x00000000)
        {
          scePaf_BA09CF46 (var452);
          var453 = ((int *) var1)[206];
        }
        else
        {
          var453 = ((int *) var1)[206];
        }
        var107 = sp + 0x00000050;
        var454 = ((int *) var453)[2];
        sub_138B4 (var254, var454);

      label77:
        var434 = ((int *) var1)[42];
      }
      else
      {
        var255 = ((int *) ((var253 << 0x00000002) + 0x0001E2A0))[0];
        switch () {
        case 0:
          var256 = ((int *) var1)[206];
          var257 = ((int *) var1)[42];

        label60:
          sceVshCommonGui_C4D809CB (var257, (var256 + 0x0000000C), 0x00000001);
          var260 = ((int *) var1)[206];
          var261 = ((int *) var1)[42];
          sceVshCommonGui_72C75A14 (var261, (var260 + 0x00000010));
          var264 = ((int *) var1)[206];

        label65:
          var265 = ((int *) var264)[3];
          var107 = sp + 0x00000050;
          if (var265 == 0x00000000)
          {
            sub_13894 (var107, (var264 + 0x00000008));
            var269 = ((int *) sp)[20];
          }
          else
          {
            var266 = ((int *) var1)[210];
            scePaf_DC2CA0F7 (var107, var266, "tex_transparent");
            var269 = ((int *) sp)[20];
          }
          sub_138B4 (var254, var269);
          var272 = ((int *) sp)[20];
          if (var272 == 0x00000000)
          {
            var435 = ((int *) var1)[42];
          }
          else
          {
            var273 = ((int *) var272)[1];
            var274 = var273 + 0xFFFFFFFF;
            ((int *) var272)[1] = var274;
            if (var274 > 0)
              goto label77;
            var275 = ((int *) var272)[0];
            var276 = ((int *) var275)[1];
            var279 var280 = (*var276) (var272);
            var281 = ((int *) var1)[42];
          }
        goto label39;
        case 2:
          var461 = ((int *) var1)[206];
          var462 = ((int *) var1)[42];
          var463 = sp + 0x00000010;
          sceVshCommonGui_C4D809CB (var462, (var461 + 0x0000000C), 0x00000000);
          sub_13874 (var463, 0x00000000);
          var468 = ((int *) var1)[42];
          sceVshCommonGui_72C75A14 (var468, var463);
          var471 = ((int *) sp)[4];
          if (var471 == 0x00000000)
          {
            var264 = ((int *) var1)[206];
          }
          else
          {
            scePaf_BA09CF46 (var471);
            var264 = ((int *) var1)[206];
          }
          goto label65;
        case 3:
          var256 = ((int *) var1)[206];
          var474 = ((int *) var1)[42];
          goto label60;
        goto label39;
        }
      }
      sceVshCommonGui_566AA22F (var281, var254, 0x00000002);
      var284 = ((int *) var1)[42];
      var285 = ((int *) var1)[206];
      sceVshCommonGui_566AA22F (var284, var285, 0x00000000);
      var288 = ((int *) var1)[206];
      var289 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var289, (var288 + 0x00000004), 0x00000001);
      var292 = ((int *) var1)[206];
      var293 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var293, (var292 + 0x00000008), 0x00000002);
      var296 = ((int *) var1)[40];
      scePaf_DC2CA0F7 (var107, var296, "tex_3x3_focus");
      var299 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var299, var107, 0x00000003);
      var302 = ((int *) sp)[20];
      if (var302 == 0x00000000)
      {
        var433 = ((int *) var1)[40];
      }
      else
      {
        var303 = ((int *) var302)[1];
        var304 = var303 + 0xFFFFFFFF;
        ((int *) var302)[1] = var304;
        if (var304 <= 0)
        {
          var426 = ((int *) var302)[0];
          var427 = ((int *) var426)[1];
          var430 var431 = (*var427) (var302);
          var432 = ((int *) var1)[40];
        }
        else
        {
          var305 = ((int *) var1)[40];
        }
      }
      scePaf_DC2CA0F7 (var107, var305, "tex_3x3_shadow");
      var308 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var308, var107, 0x00000005);
      var311 = ((int *) sp)[20];
      if (var311 == 0x00000000)
      {
        var314 = ((int *) var1)[206];
      }
      else
      {
        var312 = ((int *) var311)[1];
        var313 = var312 + 0xFFFFFFFF;
        ((int *) var311)[1] = var313;
        if (var313 <= 0)
        {
          var420 = ((int *) var311)[0];
          var421 = ((int *) var420)[1];
          var424 var425 = (*var421) (var311);
          var314 = ((int *) var1)[206];
        }
        else
        {
          var314 = ((int *) var1)[206];
        }
      }
      var315 = ((int *) var314)[1];
      if (var315 != 0x00000000)
      {

      label148:
        sub_13700 (var107, 0x00000000);
        var319 = ((int *) var1)[42];
        sceVshCommonGui_566AA22F (var319, var107, 0x00000006);
        var322 = ((int *) sp)[20];
        if (var322 == 0x00000000)
        {
          var325 = var107;
        }
        else
        {
          var323 = ((int *) var322)[1];
          var324 = var323 + 0xFFFFFFFF;
          ((int *) var322)[1] = var324;
          if (var324 <= 0)
          {
            var365 = ((int *) var322)[0];
            var366 = ((int *) var365)[1];
            var369 var370 = (*var366) (var322);
            var325 = var107;
          }
          else
          {
            var325 = var107;
          }
        }
        sub_13700 (var325, 0x00000000);
        var328 = ((int *) var1)[42];
        sceVshCommonGui_566AA22F (var328, var107, 0x00000007);
        var331 = ((int *) sp)[20];
        var332 = sp + 0x00000030;
        if (!(var331 == 0x00000000))
        {
          var333 = ((int *) var331)[1];
          var334 = var333 + 0xFFFFFFFF;
          ((int *) var331)[1] = var334;
          if (var334 <= 0)
          {
            var359 = ((int *) var331)[0];
            var360 = ((int *) var359)[1];
            var363 var364 = (*var360) (var331);
            var332 = sp + 0x00000030;
          }
          else
          {
            var332 = sp + 0x00000030;
          }
        }
        ((int *) sp)[12] = 0x00000000;
        ((int *) sp)[13] = 0x00000000;
        sub_0B3E4 (var332, 0x00000000);
        var337 = ((int *) var1)[42];
        sceVshCommonGui_B97EAE7A (var337, var332, 0x00000008);
        sub_0B3B4 (var332);
        ((int *) sp)[12] = 0x00000000;
        ((int *) sp)[13] = 0x00000000;
        sub_0B3E4 (var332, 0x00000000);
        var344 = ((int *) var1)[42];
        sceVshCommonGui_B97EAE7A (var344, var332, 0x00000009);
        var347 = var332;
      }
      else
      {
        var316 = ((int *) var314)[0];
        if (!(var316 == 0x00000000))
          goto label148;
        var371 = ((int *) var1)[40];
        scePaf_DC2CA0F7 (var107, var371, "tex_line");
        var374 = ((int *) var1)[42];
        sceVshCommonGui_566AA22F (var374, var107, 0x00000006);
        var377 = ((int *) sp)[20];
        if (var377 == 0x00000000)
        {
          var419 = ((int *) var1)[40];
        }
        else
        {
          var378 = ((int *) var377)[1];
          var379 = var378 + 0xFFFFFFFF;
          ((int *) var377)[1] = var379;
          if (var379 <= 0)
          {
            var412 = ((int *) var377)[0];
            var413 = ((int *) var412)[1];
            var416 var417 = (*var413) (var377);
            var418 = ((int *) var1)[40];
          }
          else
          {
            var380 = ((int *) var1)[40];
          }
        }
        scePaf_DC2CA0F7 (var107, var380, "tex_line_shadow");
        var383 = ((int *) var1)[42];
        sceVshCommonGui_566AA22F (var383, var107, 0x00000007);
        var386 = ((int *) sp)[20];
        var387 = sp + 0x00000030;
        if (!(var386 == 0x00000000))
        {
          var388 = ((int *) var386)[1];
          var389 = var388 + 0xFFFFFFFF;
          ((int *) var386)[1] = var389;
          if (var389 <= 0)
          {
            var406 = ((int *) var386)[0];
            var407 = ((int *) var406)[1];
            var410 var411 = (*var407) (var386);
            var387 = sp + 0x00000030;
          }
          else
          {
            var387 = sp + 0x00000030;
          }
        }
        sub_11B04 (var387, var1, var5);
        var392 = ((int *) var1)[42];
        sceVshCommonGui_B97EAE7A (var392, var387, 0x00000008);
        sub_0B3B4 (var387);
        var397 = ((int *) var1)[210];
        var400 = scePaf_BB3CBD19 (var397, "msgshare_umd", 0xFFFFFFFF);
        ((int *) sp)[12] = 0x00000000;
        ((int *) sp)[13] = 0x00000000;
        sub_0B3E4 (var387, var400);
        var403 = ((int *) var1)[42];
        sceVshCommonGui_B97EAE7A (var403, var387, 0x00000009);
        var347 = var387;
      }
      sub_0B3B4 (var347);
      var350 = ((int *) sp)[8];
      if (!(var350 == 0x00000000))
      {
        var351 = ((int *) var350)[1];
        var352 = var351 + 0xFFFFFFFF;
        ((int *) var350)[1] = var352;
        if (var352 > 0)
        {

        label297:
        }
        else
        {
          var353 = ((int *) var350)[0];
          var354 = ((int *) var353)[1];
          var357 var358 = (*var354) (var350);
        }
      }
    }
    else
    {
      var24 = sp;
      sub_13854 (var24, 0x00000000);
      var27 = ((int *) var1)[42];
      var28 = sp;
      sceVshCommonGui_C4D809CB (var27, var28, 0x00000000);
      var31 = ((int *) sp)[0];
      if (var31 != 0x00000000)
      {
        scePaf_BA09CF46 (var31);
        var32 = sp + 0x00000010;
      }
      else
      {
        var32 = sp + 0x00000010;
      }
      sub_13874 (var32, 0x00000000);
      var35 = ((int *) var1)[42];
      sceVshCommonGui_72C75A14 (var35, var32);
      var38 = ((int *) sp)[4];
      if (var38 != 0x00000000)
      {
        scePaf_BA09CF46 (var38);
        var23 = sp + 0x00000020;
      }
      else
      {
        var23 = sp + 0x00000020;
      }
      sub_13700 (var23, 0x00000000);
      var41 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var41, var23, 0x00000000);
      var44 = ((int *) sp)[8];
      var45 = var23;
      if (var44 == 0x00000000)
      {

      label214:
        var48 = var45;
      }
      else
      {
        var46 = ((int *) var44)[1];
        var47 = var46 + 0xFFFFFFFF;
        ((int *) var44)[1] = var47;
        if (!(var47 <= 0))
          goto label214;
        var241 = ((int *) var44)[0];
        var242 = ((int *) var241)[1];
        var245 var246 = (*var242) (var44);
        var48 = var45;
      }
      sub_13700 (var48, 0x00000000);
      var51 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var51, var45, 0x00000001);
      var54 = ((int *) sp)[8];
      if (var54 == 0x00000000)
      {
        var240 = ((int *) var1)[210];
      }
      else
      {
        var55 = ((int *) var54)[1];
        var56 = var55 + 0xFFFFFFFF;
        ((int *) var54)[1] = var56;
        if (var56 <= 0)
        {
          var233 = ((int *) var54)[0];
          var234 = ((int *) var233)[1];
          var237 var238 = (*var234) (var54);
          var239 = ((int *) var1)[210];
        }
        else
        {
          var57 = ((int *) var1)[210];
        }
      }
      scePaf_DC2CA0F7 (var45, var57, "tex_parental");
      var60 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var60, var45, 0x00000002);
      var63 = ((int *) sp)[8];
      if (var63 == 0x00000000)
      {
        var232 = ((int *) var1)[210];
      }
      else
      {
        var64 = ((int *) var63)[1];
        var65 = var64 + 0xFFFFFFFF;
        ((int *) var63)[1] = var65;
        if (var65 <= 0)
        {
          var225 = ((int *) var63)[0];
          var226 = ((int *) var225)[1];
          var229 var230 = (*var226) (var63);
          var231 = ((int *) var1)[210];
        }
        else
        {
          var66 = ((int *) var1)[210];
        }
      }
      scePaf_DC2CA0F7 (var45, var66, "tex_fcs_parental");
      var69 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var69, var45, 0x00000003);
      var72 = ((int *) sp)[8];
      if (var72 == 0x00000000)
      {
        var224 = ((int *) var1)[210];
      }
      else
      {
        var73 = ((int *) var72)[1];
        var74 = var73 + 0xFFFFFFFF;
        ((int *) var72)[1] = var74;
        if (var74 <= 0)
        {
          var217 = ((int *) var72)[0];
          var218 = ((int *) var217)[1];
          var221 var222 = (*var218) (var72);
          var223 = ((int *) var1)[210];
        }
        else
        {
          var75 = ((int *) var1)[210];
        }
      }
      scePaf_DC2CA0F7 (var45, var75, "tex_sdw_parental");
      var78 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var78, var45, 0x00000005);
      var81 = ((int *) sp)[8];
      if (var81 == 0x00000000)
      {
        var216 = ((int *) var1)[40];
      }
      else
      {
        var82 = ((int *) var81)[1];
        var83 = var82 + 0xFFFFFFFF;
        ((int *) var81)[1] = var83;
        if (var83 <= 0)
        {
          var209 = ((int *) var81)[0];
          var210 = ((int *) var209)[1];
          var213 var214 = (*var210) (var81);
          var215 = ((int *) var1)[40];
        }
        else
        {
          var84 = ((int *) var1)[40];
        }
      }
      scePaf_DC2CA0F7 (var45, var84, "tex_line");
      var87 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var87, var45, 0x00000006);
      var90 = ((int *) sp)[8];
      if (var90 == 0x00000000)
      {
        var208 = ((int *) var1)[40];
      }
      else
      {
        var91 = ((int *) var90)[1];
        var92 = var91 + 0xFFFFFFFF;
        ((int *) var90)[1] = var92;
        if (var92 <= 0)
        {
          var201 = ((int *) var90)[0];
          var202 = ((int *) var201)[1];
          var205 var206 = (*var202) (var90);
          var207 = ((int *) var1)[40];
        }
        else
        {
          var93 = ((int *) var1)[40];
        }
      }
      scePaf_DC2CA0F7 (var45, var93, "tex_line_shadow");
      var96 = ((int *) var1)[42];
      sceVshCommonGui_566AA22F (var96, var45, 0x00000007);
      var99 = ((int *) sp)[8];
      if (var99 == 0x00000000)
      {
        var200 = ((int *) var1)[210];
      }
      else
      {
        var100 = ((int *) var99)[1];
        var101 = var100 + 0xFFFFFFFF;
        ((int *) var99)[1] = var101;
        if (var101 <= 0)
        {
          var193 = ((int *) var99)[0];
          var194 = ((int *) var193)[1];
          var197 var198 = (*var194) (var99);
          var199 = ((int *) var1)[210];
        }
        else
        {
          var102 = ((int *) var1)[210];
        }
      }
      var105 = scePaf_BB3CBD19 (var102, "msgshare_error_parental_lock", 0xFFFFFFFF);
      var106 = sp + 0x00000030;
      ((int *) sp)[12] = 0x00000000;
      var107 = sp + 0x00000050;
      ((int *) sp)[13] = 0x00000000;
      sub_0B3E4 (var106, var105);
      var110 = ((int *) var1)[42];
      sceVshCommonGui_B97EAE7A (var110, var106, 0x00000008);
      sub_0B3B4 (var106);
      var115 = ((int *) var1)[210];
      var118 = scePaf_BB3CBD19 (var115, "msgshare_umd", 0xFFFFFFFF);
      ((int *) sp)[12] = 0x00000000;
      ((int *) sp)[13] = 0x00000000;
      sub_0B3E4 (var106, var118);
      var121 = ((int *) var1)[42];
      sceVshCommonGui_B97EAE7A (var121, var106, 0x00000009);
      sub_0B3B4 (var106);
      goto label297;
    }
    __asm__ ("mtc1       $zr, $fpr13;"
             "lwc1       $fpr12, -7036($v0);");
    var126 = ((int *) var1)[42];
    sceVshCommonGui_1BCCB74A (var126);
    var129 = ((int *) var1)[40];
    scePaf_DC2CA0F7 (var107, var129, "tex_playing");
    var132 = ((int *) var1)[40];
    scePaf_DC2CA0F7 (var23, var132, "tex_playing_shadow");
    var135 = ((int *) var1)[42];
    sceVshCommonGui_8A029A78 (var135, var107, var23);
    var138 = ((int *) sp)[8];
    if (var138 == 0x00000000)
    {
      var141 = ((int *) sp)[20];
    }
    else
    {
      var139 = ((int *) var138)[1];
      var140 = var139 + 0xFFFFFFFF;
      ((int *) var138)[1] = var140;
      if (var140 <= 0)
      {
        var187 = ((int *) var138)[0];
        var188 = ((int *) var187)[1];
        var191 var192 = (*var188) (var138);
        var141 = ((int *) sp)[20];
      }
      else
      {
        var141 = ((int *) sp)[20];
      }
    }
    if (!(var141 == 0x00000000))
    {
      var142 = ((int *) var141)[1];
      var143 = var142 + 0xFFFFFFFF;
      ((int *) var141)[1] = var143;
      if (var143 <= 0)
      {
        var181 = ((int *) var141)[0];
        var182 = ((int *) var181)[1];
        var185 var186 = (*var182) (var141);
      }
    }
    var146 = sub_0CB1C (var1);
    var147 = ((int *) var146)[0];
    var148 = ((int *) var1)[20];
    var149 = ((int *) var1)[42];
    if (var147 == var148)
    {
      sceVshCommonGui_A939DDF9 (var149, 0x00000001);
      var149 = ((int *) var1)[42];
    }
    var150 = ((int *) var149)[11];
    if (var150 == 0x00000002)
    {
      var172 = ((int *) var149)[10];
      if (var172 == 0x00001000)
      {
        var166 = ((int *) var1)[41];

      label333:
        var167 = ((int *) var166)[206];
        var170 = scePaf_81667058 (var166, 0xFFFFFFFF);
        var171 = ((int *) var1)[41];
        __asm__ ("mtc1       $zr, $fpr13;"
                 "lwc1       $fpr12, -7032($v0);");
      }
      else
      {
        var173 = ((int *) var1)[41];
        var174 = ((int *) var173)[206];
        var177 = scePaf_81667058 (var173, 0xFFFFFFFF);
        var178 = ((int *) var1)[41];
        __asm__ ("mtc1       $zr, $fpr13;"
                 "lwc1       $fpr12, -7032($v0);");

      label339:
      }
    }
    else
    {
      var151 = ((int *) var149)[10];
      if (var151 == 0x00001000)
      {
        var166 = ((int *) var1)[41];
        goto label333;
      }
      else
      {
        var152 = ((int *) var1)[41];
        var153 = ((int *) var152)[206];
        var156 = scePaf_81667058 (var152, 0xFFFFFFFF);
        var157 = ((int *) var1)[41];
        __asm__ ("mtc1       $zr, $fpr13;"
                 "lwc1       $fpr12, -7032($v0);");
        goto label339;
      }
    }
    scePaf_149CDEB9 (var157, var153, var156, 0x00000001, 0x00000001);
    ((char *) var1)[904] = 0x00000001;
    ra = ((int *) sp)[30];
  }
  else
  {
    var9 = ((unsigned char *) var8)[48];
    ra = ((int *) sp)[30];
    if (!(var9 != 0x00000000))
    {
      if (var8 == 0x00000000)
      {

      label19:
        var19 = var1;
      }
      else
      {
        var12 = sub_119BC (var1, var5);
        var13 = ((int *) var1)[42];
        sceVshCommonGui_5074C948 (var13, (((0x00000000 - ((var12 < 0x00000001))) & 0x00000F00) + 0x00000100), 0x00000000);
        var16 = ((int *) var1)[42];
        if (var16 == 0x00000000)
        {
          var19 = var1;
        }
        else
        {
          sceVshCommonGui_FA9B7ABD ();
          goto label19;
        }
      }
      goto label20;
    }
  }
  var160 = ((int *) sp)[29];
  var161 = ((int *) sp)[28];
  var162 = ((int *) sp)[27];
  var163 = ((int *) sp)[26];
  var164 = ((int *) sp)[25];
  var165 = ((int *) sp)[24];
  sp = sp + 0x00000080;
  return;
}

/**
 * Subroutine at address 0x00010BE8
 */
void sub_10BE8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  var2 = ((int *) arg1)[42];
  if (var2 != 0x00000000)
  {
    sceVshCommonGui_57F57F40 (var2);
    scePaf_4E67BB08 (var2);
    ((int *) var1)[42] = 0x00000000;
  }
  ((char *) var1)[904] = 0x00000000;
  sub_11D98 (var1);
  ra = ((int *) sp)[2];
  var5 = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00010C90
 */
void sub_10C90 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  ((int *) sp)[5] = ra;
  var1 = ((int *) arg1)[42];
  var2 = arg1;
  if (var1 == 0x00000000)
  {

  label41:
    ra = ((int *) sp)[5];
  }
  else
  {
    var3 = ((unsigned char *) arg1)[904];
    var4 = sp;
    if (!(var3 != 0x00000000))
      goto label41;
    sub_13700 (var4, 0x00000000);
    var8 = ((int *) var2)[42];
    var9 = sp;
    sceVshCommonGui_566AA22F (var8, var9, 0x00000002);
    var12 = ((int *) sp)[0];
    if (var12 == 0x00000000)
    {
      var15 = sp;
    }
    else
    {
      var13 = ((int *) var12)[1];
      var14 = var13 + 0xFFFFFFFF;
      ((int *) var12)[1] = var14;
      if (var14 <= 0)
      {
        var52 = ((int *) var12)[0];
        var53 = ((int *) var52)[1];
        var56 var57 = (*var53) (var12);
        var15 = sp;
      }
      else
      {
        var15 = sp;
      }
    }
    sub_13700 (var15, 0x00000000);
    var18 = ((int *) var2)[42];
    var19 = sp;
    sceVshCommonGui_566AA22F (var18, var19, 0x00000003);
    var22 = ((int *) sp)[0];
    if (var22 == 0x00000000)
    {
      var25 = sp;
    }
    else
    {
      var23 = ((int *) var22)[1];
      var24 = var23 + 0xFFFFFFFF;
      ((int *) var22)[1] = var24;
      if (var24 <= 0)
      {
        var46 = ((int *) var22)[0];
        var47 = ((int *) var46)[1];
        var50 var51 = (*var47) (var22);
        var25 = sp;
      }
      else
      {
        var25 = sp;
      }
    }
    sub_13700 (var25, 0x00000000);
    var28 = ((int *) var2)[42];
    var29 = sp;
    sceVshCommonGui_566AA22F (var28, var29, 0x00000005);
    var32 = ((int *) sp)[0];
    if (!(var32 == 0x00000000))
    {
      var33 = ((int *) var32)[1];
      var34 = var33 + 0xFFFFFFFF;
      ((int *) var32)[1] = var34;
      if (var34 <= 0)
      {
        var40 = ((int *) var32)[0];
        var41 = ((int *) var40)[1];
        var44 var45 = (*var41) (var32);
      }
      else
      {
      }
    }
    var35 = ((int *) var2)[42];
    __asm__ ("mtc1       $zr, $fpr13;");
    __asm__ ("lwc1       $fpr12, -7024($v0);");
    sceVshCommonGui_4016357A (var35);
    sub_0E8B4 (var2);
    ra = ((int *) sp)[5];
  }
  var5 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00010DD4
 */
int sub_10DD4 (int arg1)
{
  var1 = ((int *) arg1)[42];
  var2 = 0x00000000;
  if (!(var1 == 0x00000000))
  {
    var2 = ((unsigned char *) var1)[48];
  }
  return var2;
}

/**
 * Subroutine at address 0x00010DEC
 */
int sub_10DEC ()
{
  return 0x00000001;
}

/**
 * Subroutine at address 0x00010DF4
 */
int sub_10DF4 ()
{
  return 0x00000001;
}

/**
 * Subroutine at address 0x00010DFC
 */
int sub_10DFC (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = 0x00000000;
  ((int *) sp)[1] = ra;
  var2 = ((unsigned char *) arg1)[112];
  var3 = arg1;
  if (var2 == 0x00000000)
  {

  label21:
    ra = ((int *) sp)[1];

  label22:
    var5 = ((int *) sp)[0];
  }
  else
  {
    var4 = ((unsigned char *) arg1)[100];
    if (!(var4 != 0x00000000))
      goto label21;
    var8 = sub_1228C (arg1, 0x00000001);
    var11 = sub_1228C (var3, 0x00000000);
    var1 = 0x00000000;
    if (var11 != 0x00000000)
      goto label21;
    var12 = ((unsigned char *) var3)[102];
    ra = ((int *) sp)[1];
    if (var12 == 0x00000000)
      goto label22;
    var13 = ((unsigned char *) var3)[828];
    if (var13 != 0x00000000)
    {
      var5 = ((int *) sp)[0];
    }
    else
    {
      var14 = ((unsigned char *) var3)[101];
      if (var14 != 0x00000000)
      {
        var5 = ((int *) sp)[0];
      }
      else
      {
        var15 = ((int *) var3)[210];
        var18 = scePaf_DAB59652 (var15, "page_optionmenu");
        var1 = 0x00000000;
        if (!(var18 != 0x00000000))
        {
          var19 = ((int *) var3)[210];
          var22 = scePaf_DAB59652 (var19, "page_info");
          var1 = 0x00000001;
          if (!(var22 == 0x00000000))
          {
            var1 = 0x00000000;
          }
        }
        goto label21;
      }
    }
  }
  sp = sp + 0x00000010;
  return var1;
}

/**
 * Subroutine at address 0x00010F30
 */
void sub_10F30 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  var1 = arg1;
  ((int *) sp)[1] = s1;
  var2 = 0x00000000;
  ((int *) sp)[0] = s0;
  var3 = arg1 + 0x00000074;
  while (1) {
    var4 = ((int *) var1)[41];
    var7 = scePaf_81667058 (var4, var2);
    var10 = sub_0CB64 (var1, var2, var7);
    var2 = var2 + 0x00000001;
    var11 = 0x00000016;
    if (!(var10 == 0x00000000))
    {
      var11 = ((int *) var10)[0];
    }
    ((int *) var3)[0] = var11;
    var3 = var3 + 0x00000004;
    if (((var2 < 0x00000005)) != 0x00000000)
      continue;
    break;
  }
  var12 = ((int *) var1)[41];
  ra = ((int *) sp)[3];
  var13 = ((int *) sp)[1];
  var14 = ((int *) var12)[206];
  var15 = ((int *) sp)[0];
  var16 = ((int *) ((var14 << 0x00000002) + var1))[29];
  ((int *) var1)[14] = ((var14 << 0x00000010) | var16);
  var17 = ((int *) sp)[2];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00010FC4
 */
int sub_10FC4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  var1 = 0xFFFFFC0D;
  ((int *) sp)[0] = s0;
  if (!(arg2 != 0x00000006))
  {
    var4 = scePaf_D4FAE7D0 ("music_plugin");
    var7 = scePaf_338C3774 (var4, 0x00000001);
    var1 = 0x00000002;
    if (!(var7 == 0x00000000))
    {
      var8 = ((int *) var7)[1];
      var11 var12 = (*var8) ();
      var1 = var11;
    }
  }
  ra = ((int *) sp)[1];
  var13 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var1;
}

/**
 * Subroutine at address 0x00011028
 */
int sub_11028 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  ((int *) sp)[5] = ra;
  var1 = ((int *) arg1)[202];
  ((int *) sp)[0] = 0x00000000;
  var2 = ((int *) var1)[23];
  var5 var6 = (*var2) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
  var7 = sp;
  var8 = 0x00000000;
  if (var5 == 0x00000002)
  {
    sub_14958 ((arg1 + 0x000000B4), var7);
    var8 = ((int *) sp)[0];
  }
  ra = ((int *) sp)[5];
  var9 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return var8;
}

/**
 * Subroutine at address 0x00011084
 */
int sub_11084 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  ((int *) sp)[5] = ra;
  var1 = ((int *) arg1)[202];
  ((int *) sp)[0] = 0x00000000;
  var2 = ((int *) var1)[23];
  var5 var6 = (*var2) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
  var7 = sp;
  var8 = 0x00000000;
  if (var5 == 0x00000002)
  {
    sub_149B0 ((arg1 + 0x000000B4), var7);
    var8 = ((int *) sp)[0];
  }
  ra = ((int *) sp)[5];
  var9 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return var8;
}

/**
 * Subroutine at address 0x000110E0
 */
void sub_110E0 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFEC0;
  ((int *) sp)[78] = s6;
  ((int *) sp)[75] = s3;
  var1 = arg1;
  ((int *) sp)[74] = s2;
  var2 = arg2;
  ((int *) sp)[79] = ra;
  ((int *) sp)[77] = s5;
  ((int *) sp)[76] = s4;
  ((int *) sp)[73] = s1;
  ((int *) sp)[72] = s0;
  var3 = ((int *) arg1)[52];
  ((int *) sp)[0] = 0x00000000;
  ((int *) sp)[1] = 0x00000000;
  if ((var3 & 0x00000010) != 0x00000000)
  {
    var169 = sp;
    sub_01A8C (var169, "disc0:/PSP_GAME/");
    var174 = scePaf_CA79D58B (0x0001E2F0);
    var175 = sp;
    var178 = sub_135B0 (var175, 0x0001E2F0, var174);
    var181 = scePaf_B7E6052B (0x00000010);
    var182 = ((int *) sp)[0];
    var183 = var181;
    sceVshCommonUtil_9E7D761E (var181, var182);
    var186 = ((unsigned char *) var183)[0];
    var187 = sp + 0x00000020;
    if (var186 != 0x00000000)
    {
      var194 = sceVshCommonUtil_3088B748 (var183, "TITLE", var187, 0x00000080);
      var195 = var2 + 0x0000000C;
      var196 = var187;
      if (!(var194 == 0x00000000))
      {
        var197 = ((int *) var1)[210];
        var200 = scePaf_BB3CBD19 (var197, "msgshare_info_none", 0xFFFFFFFF);
        var195 = (var2 + 0x0000000C);
        var196 = var200;
      }
      sub_0B3E4 (var195, var196);
      var205 = sceVshCommonUtil_EE5869D8 (var183, "PARENTAL_LEVEL", (var2 + 0x00000018), 0x00000004);
      if (var205 != 0x00000000)
      {
        ((int *) var2)[6] = 0x00000000;
      }
      var206 = ((int *) var2)[6];
      if (var206 >= 0)
      {
      }
      else
      {
        ((int *) var2)[6] = 0x0000000B;
      }
    }
    sceVshCommonUtil_0F553311 (var183);
    scePaf_4E67BB08 (var183);
    var3 = ((int *) var1)[52];
  }
  if ((var3 & 0x00000040) != 0x00000000)
  {
    var123 = sp;
    sub_01A8C (var123, "disc0:/UMD_VIDEO/");
    var128 = scePaf_CA79D58B (0x0001E2F0);
    var129 = sp;
    var132 = sub_135B0 (var129, 0x0001E2F0, var128);
    var135 = scePaf_B7E6052B (0x00000010);
    var136 = ((int *) sp)[0];
    var137 = var135;
    sceVshCommonUtil_9E7D761E (var135, var136);
    var140 = ((unsigned char *) var137)[0];
    var141 = sp + 0x00000020;
    if (var140 != 0x00000000)
    {
      var148 = sceVshCommonUtil_3088B748 (var137, "TITLE", var141, 0x00000080);
      var149 = var2 + 0x00000040;
      var150 = var141;
      if (!(var148 == 0x00000000))
      {
        var151 = ((int *) var1)[210];
        var154 = scePaf_BB3CBD19 (var151, "msgshare_info_none", 0xFFFFFFFF);
        var149 = (var2 + 0x00000040);
        var150 = var154;
      }
      sub_0B3E4 (var149, var150);
      var159 = sceVshCommonUtil_EE5869D8 (var137, "PARENTAL_LEVEL", (var2 + 0x0000004C), 0x00000004);
      if (var159 != 0x00000000)
      {
        ((int *) var2)[19] = 0x00000000;
      }
      var160 = ((int *) var2)[19];
      if (var160 < 0)
      {
        ((int *) var2)[19] = 0x0000000B;
      }
      else
      {
      }
      var161 = sp + 0x000000A0;
      var164 = sceVshCommonUtil_EE5869D8 (var137, "PSP_SYSTEM_VER", var161, 0x00000008);
      if (var164 == 0x00000000)
      {
        var167 = sceVshCommonUtil_81B52E61 (var161);
        var168 = var167;
        if (var168 == 0xFFFFFBD1)
        {

        label72:
          ((int *) var2)[21] = 0x00000064;
        }
        else
        {
          ((int *) var2)[21] = var168;
        }
      }
      else
      {
        goto label72;
      }
    }
    sceVshCommonUtil_0F553311 (var137);
    scePaf_4E67BB08 (var137);
    var3 = ((int *) var1)[52];
  }
  if ((var3 & 0x00000020) != 0x00000000)
  {
    var73 = sp;
    sub_01A8C (var73, "disc0:/UMD_AUDIO/");
    var78 = scePaf_CA79D58B (0x0001E2F0);
    var79 = sp;
    var82 = sub_135B0 (var79, 0x0001E2F0, var78);
    var85 = scePaf_B7E6052B (0x00000010);
    var86 = ((int *) sp)[0];
    var87 = var85;
    sceVshCommonUtil_9E7D761E (var85, var86);
    var90 = ((unsigned char *) var87)[0];
    var91 = sp + 0x00000020;
    if (var90 != 0x00000000)
    {
      var98 = sceVshCommonUtil_3088B748 (var87, "TITLE", var91, 0x00000080);
      var99 = var2 + 0x00000024;
      var100 = var91;
      if (!(var98 == 0x00000000))
      {
        var101 = ((int *) var1)[210];
        var104 = scePaf_BB3CBD19 (var101, "msgshare_info_none", 0xFFFFFFFF);
        var99 = (var2 + 0x00000024);
        var100 = var104;
      }
      sub_0B3E4 (var99, var100);
      var109 = sceVshCommonUtil_EE5869D8 (var87, "PARENTAL_LEVEL", (var2 + 0x00000030), 0x00000004);
      if (var109 != 0x00000000)
      {
        ((int *) var2)[12] = 0x00000000;
      }
      var110 = ((int *) var2)[12];
      if (var110 < 0)
      {
        ((int *) var2)[12] = 0x0000000B;
      }
      else
      {
      }
      var111 = sp + 0x000000A0;
      var114 = sceVshCommonUtil_EE5869D8 (var87, "PSP_SYSTEM_VER", var111, 0x00000008);
      if (var114 == 0x00000000)
      {
        var121 = sceVshCommonUtil_81B52E61 (var111);
        var122 = var121;
        if (var122 == 0xFFFFFBD1)
        {

        label116:
          ((int *) var2)[14] = 0x00000064;
        }
        else
        {
          ((int *) var2)[14] = var122;
        }
      }
      else
      {
        goto label116;
      }
      var117 = sceVshCommonUtil_EE5869D8 (var87, "VIDEO_CONTENTS", (var2 + 0x0000003C), 0x00000004);
      if (var117 != 0x00000000)
      {
        ((int *) var2)[15] = 0x00000000;
      }
      else
      {
        var118 = ((int *) var2)[15];
        if (!(var118 == 0x00000001))
        {
          ((int *) var2)[15] = 0x00000000;
        }
      }
    }
    sceVshCommonUtil_0F553311 (var87);
    scePaf_4E67BB08 (var87);
    var4 = ((int *) var2)[2];
  }
  else
  {
    var4 = ((int *) var2)[2];
  }
  if ((var4 & 0x00000080) != 0x00000000)
  {
    ((char *) var2)[104] = 0x00000001;
    var21 = sp + 0x000000B0;
    ((int *) sp)[44] = 0x00000000;
    ((int *) sp)[45] = 0x00000000;
    sub_01A8C (var21, 0x0001E2D0);
    var26 = scePaf_CA79D58B (0x0001E2F0);
    var29 = sub_135B0 (var21, 0x0001E2F0, var26);
    var32 = scePaf_B7E6052B (0x00000010);
    var33 = ((int *) sp)[44];
    var34 = var32;
    sceVshCommonUtil_9E7D761E (var32, var33);
    var37 = ((unsigned char *) var34)[0];
    var38 = sp + 0x00000020;
    if (var37 != 0x00000000)
    {
      var47 = sceVshCommonUtil_3088B748 (var34, "TITLE", var38, 0x00000080);
      if (!(var47 != 0x00000000))
      {
        sub_0B3E4 ((var2 + 0x0000005C), var38);
        sub_01A8C (var21, 0x0001E2D0);
        var54 = scePaf_CA79D58B (0x0001E304);
        var57 = sub_135B0 (var21, 0x0001E304, var54);
        var58 = ((int *) sp)[44];
        var59 = sp + 0x000000C0;
        var62 = IoFileMgrForUser_ACE946E8 (var58, var59);
        var63 = sp + 0x000000A0;
        if (!(var62 != 0x00000000))
        {
          var66 = sceVshCommonUtil_EE5869D8 (var34, "UPDATER_VER", var63, 0x00000008);
          if (!(var66 != 0x00000000))
          {
            var69 = sceVshCommonUtil_81B52E61 (var63);
            var70 = var69;
            if (!(var70 == 0xFFFFFBD1))
            {
              ((int *) var2)[27] = var70;
              sub_11664 (var1, var2, var34);
              ((char *) var2)[104] = 0x00000000;
            }
          }
        }
      }
    }
    sceVshCommonUtil_0F553311 (var34);
    scePaf_4E67BB08 (var34);
    sub_01988 (var21);
    var5 = ((int *) var1)[202];
  }
  else
  {
    var5 = ((int *) var1)[202];
  }
  var6 = ((int *) var5)[24];
  var9 var10 = (*var6) (var3, "ex_fcs_cnf_save_energy", arg3, arg4, arg5, arg6, arg7, arg8);
  ((int *) var2)[1] = var9;
  var11 = sp;
  sub_01988 (var11);
  ra = ((int *) sp)[79];
  var14 = ((int *) sp)[78];
  var15 = ((int *) sp)[77];
  var16 = ((int *) sp)[76];
  var17 = ((int *) sp)[75];
  var18 = ((int *) sp)[74];
  var19 = ((int *) sp)[73];
  var20 = ((int *) sp)[72];
  sp = sp + 0x00000140;
  return;
}

/**
 * Subroutine at address 0x00011664
 */
void sub_11664 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFF30;
  ((int *) sp)[49] = ra;
  ((int *) sp)[40] = s0;
  ((int *) sp)[32] = 0x00000000;
  ((int *) sp)[33] = 0x00000000;
  ((int *) sp)[44] = s4;
  ((int *) sp)[48] = fp;
  ((int *) sp)[47] = s7;
  ((int *) sp)[46] = s6;
  ((int *) sp)[45] = s5;
  ((int *) sp)[43] = s3;
  var1 = sp + 0x00000080;
  ((int *) sp)[42] = s2;
  var2 = 0x00000000;
  ((int *) sp)[41] = s1;
  var3 = arg2;
  while (1) {
    sub_01A8C (var1, "TITLE_");
    var6 = ((hi (var2 * 0x66666667)) >> 0x00000002) - (var2 >> 0x0000001F);
    if (var6 != 0x00000000)
    {
      sub_1392C (var1, 0x00000001, ((char) (var6 + 0x00000030)));
      var7 = var6 << 0x00000002;
    }
    else
    {
      var7 = var6 << 0x00000002;
    }
    sub_1392C (var1, 0x00000001, ((char) ((var2 - ((var7 + var6) << 0x00000001)) + 0x00000030)));
    var10 = ((int *) sp)[32];
    var11 = sp;
    var14 = sceVshCommonUtil_3088B748 (arg3, var10, var11, 0x00000080);
    var15 = sp;
    if (var14 != 0x00000000)
    {
      ((char *) var3)[112] = 0x00000000;
      var15 = 0x0001E360;
    }
    else
    {
      ((char *) var3)[112] = 0x00000001;
    }
    var2 = var2 + 0x00000001;
    sub_0B3E4 ((var3 + 0x00000074), var15);
    var3 = var3 + 0x00000010;
    if (((var2 < 0x0000000C)) != 0x00000000)
      continue;
    break;
  }
  sub_01988 (var1);
  ra = ((int *) sp)[49];
  var20 = ((int *) sp)[48];
  var21 = ((int *) sp)[47];
  var22 = ((int *) sp)[46];
  var23 = ((int *) sp)[45];
  var24 = ((int *) sp)[44];
  var25 = ((int *) sp)[43];
  var26 = ((int *) sp)[42];
  var27 = ((int *) sp)[41];
  var28 = ((int *) sp)[40];
  sp = sp + 0x000000D0;
  return;
}

/**
 * Subroutine at address 0x000117A8
 */
void sub_117A8 (int arg1)
{
  ((int *) arg1)[49] = 0x00000000;
  ((char *) arg1)[906] = 0x00000000;
  ((char *) arg1)[172] = 0x00000000;
  ((int *) arg1)[44] = 0x00000000;
  ((int *) arg1)[45] = 0x00000000;
  ((int *) arg1)[46] = 0x00000000;
  ((int *) arg1)[47] = 0x00000000;
  ((int *) arg1)[48] = 0x00000000;
  return;
}

/**
 * Subroutine at address 0x000117CC
 */
void sub_117CC (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[13] = ra;
  ((int *) sp)[12] = fp;
  var1 = 0x0000000A;
  ((int *) sp)[11] = s7;
  ((int *) sp)[10] = s6;
  ((int *) sp)[9] = s5;
  ((int *) sp)[8] = s4;
  ((int *) sp)[7] = s3;
  var2 = arg1;
  ((int *) sp)[6] = s2;
  ((int *) sp)[5] = s1;
  ((int *) sp)[4] = s0;
  var3 = arg2;
  ((char *) arg2)[0] = 0x00000000;
  ((char *) arg2)[1] = 0x00000000;
  ((int *) arg2)[1] = 0x00000000;
  var4 = ((int *) arg1)[210];
  ((int *) var3)[2] = 0x00000000;
  ((int *) sp)[0] = (var3 + 0x0000005C);
  var7 = scePaf_BB3CBD19 (var4, 0x0001E31C, 0xFFFFFFFF);
  sub_0B3E4 ((arg2 + 0x0000000C), var7);
  var10 = ((int *) var2)[210];
  ((int *) var3)[6] = 0x00000000;
  ((int *) var3)[7] = 0x0000000B;
  var11 = var3;
  ((int *) var3)[8] = 0x00000000;
  var14 = scePaf_BB3CBD19 (var10, 0x0001E31C, 0xFFFFFFFF);
  sub_0B3E4 ((var3 + 0x00000024), var14);
  var17 = ((int *) var2)[210];
  ((int *) var3)[12] = 0x00000000;
  ((int *) var3)[13] = 0x0000000B;
  ((int *) var3)[14] = 0x00000064;
  ((int *) var3)[15] = 0x00000000;
  var20 = scePaf_BB3CBD19 (var17, 0x0001E31C, 0xFFFFFFFF);
  sub_0B3E4 ((var3 + 0x00000040), var20);
  var23 = ((int *) var2)[210];
  ((int *) var3)[20] = 0x0000000B;
  ((int *) var3)[19] = 0x00000000;
  ((int *) var3)[21] = 0x00000064;
  ((int *) var3)[22] = 0x00000000;
  var26 = scePaf_BB3CBD19 (var23, 0x0001E31C, 0xFFFFFFFF);
  var27 = ((int *) sp)[0];
  sub_0B3E4 (var27, var26);
  ((int *) var3)[27] = 0x00000064;
  ((char *) var3)[104] = 0x00000000;
  while (1) {
    ((char *) var11)[112] = 0x00000000;
    var1 = var1 + 0xFFFFFFFF;
    sub_0B3E4 ((var11 + 0x00000074), 0x0001E360);
    var11 = var11 + 0x00000010;
    if (var1 >= 0)
      continue;
    break;
  }
  ra = ((int *) sp)[13];
  var32 = ((int *) sp)[12];
  var33 = ((int *) sp)[11];
  var34 = ((int *) sp)[10];
  var35 = ((int *) sp)[9];
  var36 = ((int *) sp)[8];
  var37 = ((int *) sp)[7];
  var38 = ((int *) sp)[6];
  var39 = ((int *) sp)[5];
  var40 = ((int *) sp)[4];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00011938
 */
int sub_11938 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var2 = arg2;
  var5 = sub_0F7B4 (arg1);
  var6 = 0x00000000;
  if (!(var5 < 0))
  {
    if (var2 == 0x00000003)
    {
      var7 = ((int *) var1)[64];
    }
    else
    {
      if (((var2 < 0x00000004)) == 0x00000000)
      {
        if (var2 != 0x00000004)
        {
          var7 = 0x00000064;
        }
        else
        {
          var7 = ((int *) var1)[71];
        }
      }
      else
      {
        if (var2 == 0x00000001)
        {
          var7 = ((int *) var1)[64];
        }
        else
        {
          var7 = 0x00000064;
        }
      }
    }
    var8 = ((int *) var1)[24];
    var6 = (((var8 < var7)) < 0x00000001);
  }
  ra = ((int *) sp)[2];
  var9 = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var6;
}

/**
 * Subroutine at address 0x000119BC
 */
int sub_119BC (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s0;
  if (arg2 == 0x00000003)
  {
    var2 = ((int *) arg1)[63];

  label11:
    var1 = ((int *) arg1)[62];
  }
  else
  {
    if (((arg2 < 0x00000004)) == 0x00000000)
    {
      if (arg2 != 0x00000004)
      {
        var1 = ((int *) arg1)[56];

      label13:
        var2 = ((int *) arg1)[57];
      }
      else
      {
        var2 = ((int *) arg1)[70];
        var1 = ((int *) arg1)[69];
      }
    }
    else
    {
      if (arg2 == 0x00000001)
      {
        var2 = ((int *) arg1)[63];
        goto label11;
      }
      else
      {
        var1 = ((int *) arg1)[56];
        goto label13;
      }
    }
  }
  ((int *) sp)[0] = var1;
  var3 = 0x00000001;
  if (!(var2 == 0x00000000))
  {
    var4 = ((int *) sp)[0];
    var5 = sp;
    sceVshCommonUtil_5A3449D5 (var5);
    var8 = ((int *) sp)[0];
    if (((var8 < (MIN (var2, var4)))) == 0x00000000)
    {
      var3 = 0x00000001;
    }
    else
    {
      var3 = 0x00000000;
      if (!(var8 != 0x00000000))
      {
        var3 = 0x00000001;
      }
    }
  }
  ra = ((int *) sp)[5];
  var9 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return var3;
}

/**
 * Subroutine at address 0x00011A58
 */
int sub_11A58 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var3 = sub_0CB1C (arg1);
  var4 = 0xFFFFFFFF;
  if (!(var3 == 0x00000000))
  {
    var5 = ((int *) var3)[0];
    if (var5 == 0x0000000D)
    {
      var6 = 0x00000001;

    label17:
      var4 = var6;
    }
    else
    {
      if (((var5 < 0x0000000E)) == 0x00000000)
      {
        if (var5 == 0x0000000E)
        {
          var6 = 0x00000004;
          goto label17;
        }
        else
        {
          if (var5 != 0x00000012)
          {
            var4 = 0xFFFFFFFF;
          }
          else
          {
            var6 = 0x00000008;
            goto label17;
          }
        }
      }
      else
      {
        if (var5 == 0x0000000B)
        {
          var6 = 0x00000001;
          goto label17;
        }
        else
        {
          var4 = 0xFFFFFFFF;
        }
      }
    }
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var4;
}

/**
 * Subroutine at address 0x00011AD0
 */
void sub_11AD0 (int arg1, int arg2)
{
  if (arg2 == 0x00000004)
  {
    ((int *) arg1)[70] = 0x00000000;
  }
  else
  {
    if (((arg2 < 0x00000005)) == 0x00000000)
    {

    label7:
      ((int *) arg1)[57] = 0x00000000;
    }
    else
    {
      if (!(arg2 == 0x00000001))
        goto label7;
      ((int *) arg1)[63] = 0x00000000;
    }
  }
  return;
}

/**
 * Subroutine at address 0x00011B04
 */
void sub_11B04 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[9] = s1;
  var1 = arg2;
  ((int *) sp)[10] = s2;
  var2 = arg1;
  ((int *) sp)[8] = s0;
  var3 = arg3;
  ((int *) sp)[12] = ra;
  ((int *) sp)[11] = s3;
  var6 = sub_119BC (var1, arg3);
  if (var6 == 0x00000000)
  {
    var29 = ((int *) var1)[210];
    var32 = scePaf_BB3CBD19 (var29, "msgshare_info_none", 0xFFFFFFFF);
    ((int *) var2)[0] = 0x00000000;
    ((int *) var2)[1] = 0x00000000;
    sub_0B3E4 (var2, var32);
  }
  else
  {
    ((int *) sp)[0] = 0x00000000;
    ((int *) sp)[1] = 0x00000000;
    if (var3 == 0x00000004)
    {
      var7 = var1 + 0x00000108;

    label18:
      var25 = sp;
      sub_139FC (var25, var7);
    }
    else
    {
      if (((var3 < 0x00000005)) == 0x00000000)
      {
        if (var3 != 0x00000008)
        {
          var28 = ((int *) var1)[210];

        label22:
          var11 = scePaf_BB3CBD19 (var8, "msgshare_info_none", 0xFFFFFFFF);
          var12 = sp;
          sub_0B3E4 (var12, var11);
        }
        else
        {
          var7 = var1 + 0x000000D4;
          goto label18;
        }
      }
      else
      {
        var7 = var1 + 0x000000EC;
        if (var3 == 0x00000001)
          goto label18;
        var8 = ((int *) var1)[210];
        goto label22;
      }
    }
    ((int *) var2)[0] = 0x00000000;
    var15 = sp;
    ((int *) var2)[1] = 0x00000000;
    sub_139FC (var2, var15);
    var18 = sp;
    sub_0B3B4 (var18);
  }
  ra = ((int *) sp)[12];
  var21 = ((int *) sp)[11];
  var22 = ((int *) sp)[10];
  var23 = ((int *) sp)[9];
  var24 = ((int *) sp)[8];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00011C28
 */
void sub_11C28 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = ((int *) arg1)[202];
  var2 = ((int *) var1)[23];
  var3 = arg1;
  var6 var7 = (*var2) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
  var8 = 0xFFFFFC0E;
  if (!(var6 != 0x00000002))
  {
    var9 = ((int *) var3)[202];
    var10 = ((int *) var9)[25];
    var13 var14 = (*var10) (0xFFFFFC0E);
    ((int *) var3)[44] = var13;
    sub_148F4 ((var3 + 0x000000B4));
    var8 = 0x00000000;
  }
  ra = ((int *) sp)[1];
  var17 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00011C84
 */
void sub_11C84 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  var1 = 0x00000000;
  ((int *) sp)[1] = s1;
  var2 = arg1;
  ((int *) sp)[3] = ra;
  ((int *) sp)[0] = s0;
  var5 = sub_0CB1C (arg1);
  if (var5 != 0x00000000)
  {
    var1 = ((int *) var5)[0];
  }
  var6 = ((int *) var2)[206];
  if (var6 == 0x00000000)
  {
    var25 = scePaf_B7E6052B (0x00000040);
    var26 = var25;
    var27 = ((int *) var2)[210];
    var28 = ((int *) var27)[110];
    sub_12568 (var26, var28);
    ((int *) var26)[5] = var1;
    ((int *) var2)[206] = var26;

  label20:
    ((int *) var2)[15] = 0x00000000;

  label21:
    var11 = ((int *) var2)[23];
  }
  else
  {
    var7 = ((int *) var6)[5];
    if (var7 == var1)
    {
      var22 = ((int *) var2)[15];
      if (var22 != 0x00000003)
      {
        ((int *) var2)[15] = 0x00000000;
        goto label21;
      }
      else
      {
        var11 = ((int *) var2)[23];
      }
    }
    else
    {
      sub_128B0 (var6);
      var10 = ((int *) var2)[206];
      ((int *) var10)[5] = var1;
      goto label20;
    }
  }
  if (var11 == 0x00000006)
  {
    var21 = sub_10FC4 (var2, 0x00000006);
    if (var21 == 0x00000001)
    {
      var11 = ((int *) var2)[23];

    label28:
      if (var11 == 0x00000006)
      {
        var18 = sub_10FC4 (var2, 0x00000006);
        if (var18 == 0x00000001)
        {
          var12 = 0x00000002;

        label36:
          ((int *) var2)[15] = var12;

        label37:
          ra = ((int *) sp)[3];
        }
        else
        {
          var11 = ((int *) var2)[23];

        label34:
          ra = ((int *) sp)[3];
          if (!((((var11 + 0xFFFFFFF9) < 0x00000003)) == 0x00000000))
          {
            var12 = 0x00000001;
            goto label36;
          }
        }
      }
      else
      goto label34;
    }
    else
    {
      ((int *) var2)[15] = 0x00000001;
      goto label37;
    }
  }
  else
  goto label28;
  var13 = ((int *) sp)[2];
  var14 = ((int *) sp)[1];
  var15 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00011D98
 */
void sub_11D98 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  var1 = ((int *) arg1)[206];
  if (var1 != 0x00000000)
  {
    sub_12764 (var1);
    scePaf_4E67BB08 (var1);
    ((int *) arg1)[206] = 0x00000000;
  }
  ra = ((int *) sp)[2];
  var2 = ((int *) sp)[1];
  var3 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00011DE4
 */
void sub_11DE4 (int arg1)
{
  var1 = ((int *) arg1)[206];
  if (!(var1 == 0x00000000))
  {
    ((int *) var1)[5] = 0xFFFFFFFF;
  }
  return;
}

/**
 * Subroutine at address 0x00011DFC
 */
int sub_11DFC (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[16] = s4;
  var1 = arg3;
  var2 = 0xFFFFFFFF;
  ((int *) sp)[13] = s1;
  var3 = arg1;
  ((int *) sp)[12] = s0;
  ((int *) sp)[18] = ra;
  ((int *) sp)[17] = s5;
  ((int *) sp)[15] = s3;
  ((int *) sp)[14] = s2;
  var4 = ((unsigned char *) arg1)[100];
  var5 = arg2;
  if (!(var4 == 0x00000000))
  {
    var6 = ((int *) arg1)[15];
    if (var6 == 0x00000004)
    {
      var55 = ((int *) arg1)[206];
      ((int *) ((arg2 << 0x00000002) + var55))[10] = 0x00000000;
    }
    else
    {
      ((int *) sp)[0] = 0x00000000;
      ((int *) sp)[1] = 0x00000000;
      if (((arg2 < 0x00000006)) == 0x00000000)
      {
      case 3:

      label19:
        var18 = sp;

      label35:
        sub_01988 (var18);
        var2 = 0xFFFFFFFF;
      }
      else
      {
        var7 = arg2 << 0x00000002;
        var8 = ((int *) (var7 + 0x0001E3A8))[0];
        switch () {
        case 0:
          var9 = sp + 0x00000020;
          var10 = "PIC1.PNG";

        label12:
          sub_0D3D0 (var9, var3, var10);
          var13 = sp;
          sub_01ADC (var13, var9);
          sub_01988 (var9);
          if (var5 < 0)
            goto label19;
          if (((var5 < 0x00000003)) != 0x00000000)
          {
            var43 = sp;
            ((int *) sp)[8] = 0x00000000;
            ((int *) sp)[9] = 0x00000000;
            sub_01ADC (var9, var43);
            var46 = ((int *) var3)[206];
            var49 = sub_12A18 (var46, var5, var9, var1);
            sub_01988 (var9);
            var52 = sp;
            sub_01988 (var52);
            var2 = var49;
          }
          else
          {
            var18 = sp;
            if ((((var5 + 0xFFFFFFFC) < 0x00000002)) == 0x00000000)
              goto label35;
            var19 = ((int *) var3)[15];
            if (var19 == 0x00000001)
            {
              var40 = ((int *) var3)[206];
              var18 = sp;
              ((int *) (var7 + var40))[10] = 0x00000000;
              goto label35;
            }
            else
            {
              var20 = sp;
              ((int *) sp)[8] = 0x00000000;
              ((int *) sp)[9] = 0x00000000;
              sub_01ADC (var9, var20);
              var23 = ((int *) var3)[206];
              var26 = sub_12EBC (var23, var5, var9, var1);
              var27 = var26;
              sub_01988 (var9);
              if (!((((0x00000000 < (var27 ^ 0xFFFFFC0C))) & (((var5 ^ 0x00000005) < 0x00000001))) == 0x00000000))
              {
                var30 = ((int *) var3)[15];
                if (var30 != 0x00000000)
                {
                }
                else
                {
                  ((int *) var3)[15] = 0x00000003;
                }
              }
              var31 = sp;
              sub_01988 (var31);
              var2 = var27;
            }
          }
        case 1:
          var9 = sp + 0x00000020;
          var10 = "PIC0.PNG";
          goto label12;
        case 2:
          var9 = sp + 0x00000020;
          var10 = "ICON0.PNG";
          goto label12;
        goto label19;
        case 4:
          var9 = sp + 0x00000020;
          var10 = "ICON1.PMF";
          goto label12;
        case 5:
          var9 = sp + 0x00000020;
          var10 = "SND0.AT3";
          goto label12;
        }
      }
    }
  }
  ra = ((int *) sp)[18];
  var34 = ((int *) sp)[17];
  var35 = ((int *) sp)[16];
  var36 = ((int *) sp)[15];
  var37 = ((int *) sp)[14];
  var38 = ((int *) sp)[13];
  var39 = ((int *) sp)[12];
  sp = sp + 0x00000050;
  return var2;
}

/**
 * Subroutine at address 0x00012028
 */
void sub_12028 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[8] = s0;
  var1 = arg1;
  ((int *) sp)[10] = ra;
  ((int *) sp)[9] = s1;
  var2 = ((unsigned char *) arg1)[100];
  var3 = 0xFFFFFFFF;
  if (!(var2 == 0x00000000))
  {
    if (((arg2 < 0x00000006)) == 0x00000000)
    {
    }
    else
    {
      var4 = arg2 << 0x00000002;
      var5 = ((int *) (var4 + 0x0001E408))[0];
      switch () {
      case 0:
        var6 = ((int *) var1)[206];

      label49:
        sub_138B4 (var6, 0x00000000);

      label51:
        var9 = ((int *) var1)[206];

      label52:
        var3 = 0x00000000;
        ((int *) (var4 + var9))[10] = 0x00000001;
        goto label53;
      case 1:
        var12 = ((int *) var1)[206];
        var6 = var12 + 0x00000004;
        goto label49;
      case 2:
        var13 = sp;
        sub_13700 (var13, 0x00000000);
        var16 = ((int *) var1)[41];
        var17 = ((int *) var16)[206];
        if (var17 == 0x00000003)
        {
          var53 = ((int *) var1)[40];

        label25:
          var35 = sp + 0x00000010;
          scePaf_DC2CA0F7 (var35, var34, "tex_default_music_icon");
          var38 = ((int *) sp)[4];
          var39 = sp;
          sub_138B4 (var39, var38);
          var42 = ((int *) sp)[4];
          if (var42 == 0x00000000)
          {
            var21 = ((int *) var1)[206];
          }
          else
          {
            var43 = ((int *) var42)[1];
            var44 = var43 + 0xFFFFFFFF;
            ((int *) var42)[1] = var44;
            if (var44 > 0)
            {

            label38:
              var21 = ((int *) var1)[206];
            }
            else
            {
              var45 = ((int *) var42)[0];
              var46 = ((int *) var45)[1];
              var49 var50 = (*var46) (var42);
              var21 = ((int *) var1)[206];
            }
          }
        }
        else
        {
          if (((var17 < 0x00000004)) == 0x00000000)
          {
            if (var17 != 0x00000004)
            {
              var18 = sp;

            label36:
              sub_138B4 (var18, 0x00000000);
              goto label38;
            }
            else
            {
              var51 = sp;
              var52 = ((int *) var1)[40];
              goto label25;
            }
          }
          else
          {
            if (var17 == 0x00000002)
            {
              var34 = ((int *) var1)[40];
              goto label25;
            }
            else
            {
              var18 = sp;
              goto label36;
            }
          }
        }
        var22 = ((int *) sp)[0];
        sub_138B4 ((var21 + 0x00000008), var22);
        var25 = ((int *) sp)[0];
        if (var25 == 0x00000000)
        {
          var9 = ((int *) var1)[206];
        }
        else
        {
          var26 = ((int *) var25)[1];
          var27 = var26 + 0xFFFFFFFF;
          ((int *) var25)[1] = var27;
          if (var27 > 0)
            goto label51;
          var28 = ((int *) var25)[0];
          var29 = ((int *) var28)[1];
          var32 var33 = (*var29) (var25);
          var9 = ((int *) var1)[206];
        }
        goto label52;
      case 3:
        var3 = 0xFFFFFFFF;
        goto label53;
      case 4:
        var54 = ((int *) var1)[206];
        sub_13A98 ((var54 + 0x0000000C), 0x00000000);
        var9 = ((int *) var1)[206];
        goto label52;
      case 5:
        var57 = ((int *) var1)[206];
        sub_13AF4 ((var57 + 0x00000010), 0x00000000);
        var9 = ((int *) var1)[206];
        goto label52;
      }
    }
  }

label53:
  ra = ((int *) sp)[10];
  var10 = ((int *) sp)[9];
  var11 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00012244
 */
int sub_12244 (int arg1, int arg2)
{
  if (arg2 == 0x00000004)
  {
    var5 = ((int *) arg1)[206];
    var3 = ((int *) var5)[3];

  label8:
    if (var3 != 0x00000000)
    {
      var4 = ((int *) var3)[4];
    }
    var1 = var4;
  }
  else
  {
    if (arg2 == 0x00000005)
    {
      var2 = ((int *) arg1)[206];
      var3 = ((int *) var2)[4];
      goto label8;
    }
    else
    {
      var1 = 0x00000000;
    }
  }
  return var1;
}

/**
 * Subroutine at address 0x0001228C
 */
int sub_1228C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  if ((arg2 & 0x000000FF) != 0x00000000)
  {
    var9 = *((int *) 0x00020E90);
    *((int *) 0x00020E90) = (var9 + 0x00000001);
    scePaf_6B1E90C7 ();
    scePaf_A044BFC0 ();
    var7 = *((int *) 0x00020E90);
  }
  else
  {
    var1 = *((int *) 0x00020E90);
    var2 = var1 + 0xFFFFFFFF;
    *((int *) 0x00020E90) = var2;
    if (var2 < 0)
    {
      *((int *) 0x00020E90) = 0x00000000;
    }
    else
    {
      scePaf_66907719 ();
      scePaf_F1CF9579 ();
    }
    var7 = *((int *) 0x00020E90);
  }
  ra = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var7;
}

/**
 * Subroutine at address 0x00012304
 */
void sub_12304 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg2 & 0x000000FF;
  ((int *) sp)[0] = s0;
  var2 = arg1;
  ((int *) sp)[2] = ra;
  if (var1 == 0x00000000)
  {
    var3 = ((int *) arg1)[27];
    var4 = 0x00000000;
    if (!(var3 != 0x00000001))
    {

    label6:
      sub_12388 (arg1, var4);
      var3 = ((int *) var2)[27];
    }
  }
  else
  {
    var3 = ((int *) arg1)[27];
    var4 = 0x00000001;
    if (var3 == 0x00000000)
      goto label6;
  }
  var5 = var3 + 0x00000001;
  if (!(var1 != 0x00000000))
  {
    var5 = var3 + 0xFFFFFFFF;
  }
  ((int *) var2)[27] = var5;
  if (var5 < 0)
  {
    ((int *) var2)[27] = 0x00000000;
  }
  var6 = ((int *) var2)[27];
  ra = ((int *) sp)[2];
  var7 = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00012388
 */
void sub_12388 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  var1 = arg2 & 0x000000FF;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  if (var1 != 0x00000000)
  {
    var12 = ((int *) arg1)[202];
    var13 = *((int *) 0x00020E94);
    var5 = ((int *) var12)[20];
    *((int *) 0x00020E94) = (var13 + 0x00000001);

  label7:
    var8 var9 = (*var5) (arg1, var1, arg3, arg4, arg5, arg6, arg7, arg8);
  }
  else
  {
    var2 = *((int *) 0x00020E94);
    var3 = var2 + 0xFFFFFFFF;
    *((int *) 0x00020E94) = var3;
    if (var3 < 0)
    {
      *((int *) 0x00020E94) = 0x00000000;
    }
    else
    {
      var4 = ((int *) arg1)[202];
      var5 = ((int *) var4)[21];
      goto label7;
    }
  }
  var10 = *((int *) 0x00020E94);
  ra = ((int *) sp)[1];
  var11 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00012568
 */
void sub_12568 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var1 = arg1;
  sub_13700 (arg1, 0x00000000);
  sub_13700 ((var1 + 0x00000004), 0x00000000);
  sub_13700 ((var1 + 0x00000008), 0x00000000);
  sub_13854 ((var1 + 0x0000000C), 0x00000000);
  sub_13874 ((var1 + 0x00000010), 0x00000000);
  ((int *) var1)[5] = 0xFFFFFFFF;
  ((int *) var1)[6] = arg2;
  sub_128B0 (var1);
  var16 = scePaf_3586BE05 (0x00000010, 0x0007F800);
  ((int *) var1)[7] = var16;
  var19 = scePaf_3586BE05 (0x00000010, 0x00038400);
  ((int *) var1)[8] = var19;
  var22 = scePaf_3586BE05 (0x00000010, 0x0000B400);
  ((int *) var1)[9] = var22;
  ra = ((int *) sp)[2];
  var23 = ((int *) sp)[1];
  var24 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00012764
 */
void sub_12764 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = arg1;
  sub_128B0 (arg1);
  var4 = ((int *) var1)[7];
  if (var4 != 0x00000000)
  {
    scePaf_545FE2DA (var4);
    ((int *) var1)[7] = 0x00000000;
  }
  var5 = ((int *) var1)[8];
  if (var5 != 0x00000000)
  {
    scePaf_545FE2DA (var5);
    ((int *) var1)[8] = 0x00000000;
  }
  var6 = ((int *) var1)[9];
  if (var6 != 0x00000000)
  {
    scePaf_545FE2DA (var6);
    ((int *) var1)[7] = 0x00000000;
  }
  var7 = ((int *) var1)[4];
  if (var7 != 0x00000000)
  {
    scePaf_BA09CF46 (var7);
    var8 = ((int *) var1)[3];
  }
  else
  {
    var8 = ((int *) var1)[3];
  }
  if (var8 != 0x00000000)
  {
    scePaf_BA09CF46 (var8);
    var9 = ((int *) var1)[2];
  }
  else
  {
    var9 = ((int *) var1)[2];
  }
  if (var9 == 0x00000000)
  {
    var12 = ((int *) var1)[1];
  }
  else
  {
    var10 = ((int *) var9)[1];
    var11 = var10 + 0xFFFFFFFF;
    ((int *) var9)[1] = var11;
    if (var11 <= 0)
    {
      var31 = ((int *) var9)[0];
      var32 = ((int *) var31)[1];
      var35 var36 = (*var32) (var9);
      var12 = ((int *) var1)[1];
    }
    else
    {
      var12 = ((int *) var1)[1];
    }
  }
  if (var12 == 0x00000000)
  {
    var15 = ((int *) var1)[0];
  }
  else
  {
    var13 = ((int *) var12)[1];
    var14 = var13 + 0xFFFFFFFF;
    ((int *) var12)[1] = var14;
    if (var14 <= 0)
    {
      var25 = ((int *) var12)[0];
      var26 = ((int *) var25)[1];
      var29 var30 = (*var26) (var12);
      var15 = ((int *) var1)[0];
    }
    else
    {
      var15 = ((int *) var1)[0];
    }
  }
  ra = ((int *) sp)[1];
  if (!(var15 == 0x00000000))
  {
    var16 = ((int *) var15)[1];
    var17 = var16 + 0xFFFFFFFF;
    ((int *) var15)[1] = var17;
    if (var17 <= 0)
    {
      var19 = ((int *) var15)[0];
      var20 = ((int *) var19)[1];
      var23 var24 = (*var20) (var15);
      ra = ((int *) sp)[1];
    }
    else
    {
      ra = ((int *) sp)[1];
    }
  }
  var18 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000128B0
 */
void sub_128B0 (int arg1)
{
  ((int *) arg1)[5] = 0xFFFFFFFF;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = arg1;
  sub_138B4 (arg1, 0x00000000);
  sub_138B4 ((var1 + 0x00000004), 0x00000000);
  sub_138B4 ((var1 + 0x00000008), 0x00000000);
  sub_13A98 ((var1 + 0x0000000C), 0x00000000);
  sub_13AF4 ((var1 + 0x00000010), 0x00000000);
  var12 = var1 + 0x00000028;
  var13 = 0x00000005;
  while (1) {
    var13 = var13 + 0xFFFFFFFF;
    ((int *) var12)[0] = 0x00000000;
    var12 = var12 + 0x00000004;
    if (var13 >= 0)
      continue;
    break;
  }
  ra = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00012928
 */
int sub_12928 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  if (((arg2 < 0x00000007)) == 0x00000000)
  {
  case 3:

  label27:
    var4 = 0x00000000;
  }
  else
  {
    var2 = ((int *) ((arg2 << 0x00000002) + 0x0001E420))[0];
    switch () {
    case 0:
      var3 = ((int *) var1)[10];

    label31:
      var4 = (0x00000000 < var3);
      goto label32;
    case 1:
      var3 = ((int *) var1)[11];
      goto label31;
    case 2:
      var3 = ((int *) var1)[12];
      goto label31;
    goto label27;
    case 4:
      var3 = ((int *) var1)[14];
      goto label31;
    case 5:
      var3 = ((int *) var1)[15];
      goto label31;
    case 6:
      var9 = sub_12928 (var1, 0x00000000);
      var10 = 0x00000000;
      if (var9 != 0x00000000)
      {
        var13 = sub_12928 (var1, 0x00000001);
        if (var13 == 0x00000000)
        {
          var4 = 0x00000000;
        }
        else
        {
          var16 = sub_12928 (var1, 0x00000002);
          if (var16 == 0x00000000)
          {
            var4 = 0x00000000;
          }
          else
          {
            var19 = sub_12928 (var1, 0x00000004);
            if (var19 == 0x00000000)
            {
              var4 = 0x00000000;
            }
            else
            {
              var22 = sub_12928 (var1, 0x00000005);
              if (var22 != 0x00000000)
              {
                var10 = 0x00000001;

              label24:
                var4 = var10;
              }
              else
              {
                var4 = 0x00000000;
              }
            }
          }
        }
      }
      else
      goto label24;
    }
  }

label32:
  ra = ((int *) sp)[2];
  var5 = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return var4;
}

/**
 * Subroutine at address 0x00012A18
 */
int sub_12A18 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFEB0;
  ((int *) sp)[79] = s7;
  var1 = arg2 << 0x00000002;
  ((int *) sp)[72] = s0;
  var2 = var1 + arg1;
  ((int *) var2)[10] = 0x00000001;
  ((int *) sp)[78] = s6;
  var3 = arg1;
  var4 = sp + 0x00000010;
  ((int *) sp)[77] = s5;
  var5 = arg2;
  ((int *) sp)[74] = s2;
  var6 = arg3;
  ((int *) sp)[73] = s1;
  var7 = arg4;
  ((int *) sp)[81] = ra;
  ((int *) sp)[80] = fp;
  ((int *) sp)[76] = s4;
  ((int *) sp)[75] = s3;
  sub_13700 (var4, 0x00000000);
  ((int *) sp)[12] = 0x00000000;
  var10 = ((int *) var2)[7];
  ((int *) sp)[69] = 0x00000000;
  ((int *) sp)[13] = 0x00000000;
  ((int *) sp)[68] = 0x00000000;
  if (var10 == 0x00000000)
  {
    var161 = sp + 0x00000010;
    sub_138B4 (var161, 0x00000000);
    var157 = 0xFFFFFC0A;

  label22:
    ((int *) sp)[69] = var157;
    ((int *) var2)[10] = 0x00000000;

  label106:
  }
  else
  {
    var11 = ((int *) var6)[0];
    var12 = sp + 0x00000040;
    var15 = IoFileMgrForUser_ACE946E8 (var11, var12);
    var16 = ((int *) sp)[19];
    if (var15 != 0x00000000)
    {
      var158 = sp + 0x00000010;
      sub_138B4 (var158, 0x00000000);
      var157 = 0xFFFFFC0C;
      goto label22;
    }
    else
    {
      var17 = var7 >> 0x0000001F;
      var18 = sp + 0x00000010;
      if (((var17 < var16)) != 0x00000000)
      {

      label19:
        sub_138B4 (var18, 0x00000000);
        var157 = 0xFFFFFC0B;
        goto label22;
      }
      else
      {
        var19 = ((int *) sp)[18];
        if (var16 == var17)
        {
          if (((var7 < var19)) == 0x00000000)
          {
            var20 = sp + 0x000000A0;

          label24:
            ((int *) sp)[40] = 0x00000000;
            ((int *) sp)[41] = 0x00000000;
            sub_01ADC (var20, var6);
            var23 = sp + 0x00000110;
            var26 = sub_130F4 (var20, var23, 0xFFFFFFFF);
            ((int *) sp)[70] = var26;
            sub_01988 (var20);
            var29 = ((int *) sp)[70];
            var30 = ((int *) sp)[68];
            if (var29 == 0x00000000)
            {
              var152 = sp + 0x00000010;
              sub_138B4 (var152, 0x00000000);
              ((int *) sp)[69] = 0xFFFFFC0C;
              ((int *) (var1 + var3))[10] = 0x00000000;

            label101:
              var72 = ((int *) sp)[70];
            }
            else
            {
              var31 = ((int *) sp)[70];
              var34 = scePaf_94136997 (var31, var30, 0x00000000, 0x00000001);
              var35 = var34;
              if (var34 == 0x00000000)
              {
                var149 = sp + 0x00000010;
                sub_138B4 (var149, 0x00000000);
                ((int *) sp)[69] = 0xFFFFFC0A;
                ((int *) (var1 + var3))[10] = 0x00000000;
              }
              else
              {
                var36 = ((int *) var34)[11];
                var37 = var34 + 0x0000002C;
                ((int *) sp)[48] = var36;
                var38 = var1 + var3;
                var39 = ((int *) var37)[1];
                ((int *) sp)[8] = var36;
                ((int *) sp)[9] = var39;
                ((int *) sp)[49] = var39;
                ((int *) sp)[44] = var36;
                ((int *) sp)[45] = var39;
                var42 var43 = scePaf_3D451DE8 (var34, 0x00000001);
                ((int *) sp)[12] = var42;
                ((int *) sp)[13] = var43;
                ((int *) sp)[52] = var42;
                ((int *) sp)[53] = var43;
                var44 = ((int *) var38)[7];
                var45 = ((unsigned short *) var37)[36];
                if (var44 == 0x00000000)
                {

                label60:
                  var146 = sp + 0x00000010;
                  sub_138B4 (var146, 0x00000000);
                  ((int *) sp)[69] = 0xFFFFFC0A;
                  ((int *) var38)[10] = 0x00000000;
                }
                else
                {
                  var48 = scePaf_B7E6052B (0x00000078);
                  var49 = var35 + 0x00000004;
                  var50 = ((int *) var49)[2];
                  var51 = var48;
                  var52 = ((int *) var37)[14];
                  ((int *) sp)[60] = var50;
                  var53 = ((int *) var49)[3];
                  ((int *) sp)[0] = 0x00000000;
                  var54 = ((int *) sp)[9];
                  var55 = ((int *) var38)[7];
                  var56 = ((int *) sp)[8];
                  ((int *) sp)[56] = var50;
                  ((int *) sp)[61] = var53;
                  ((int *) sp)[57] = var53;
                  scePaf_35F003C0 (var51, var56, var54, var52, 0x00000002, 0x00000000, var53, var55);
                  var59 = sp + 0x00000010;
                  sub_138B4 (var59, var51);
                  var62 = ((int *) sp)[4];
                  if (var62 == 0x00000000)
                    goto label60;
                  var63 = ((int *) sp)[8];
                  var64 = ((int *) var37)[15];
                  var67 = scePaf_08DD2D50 (var62, var63);
                  if (var45 == 0x00000000)
                  {
                    __asm__ ("break      0x00007;");
                  }
                  var68 = ((int *) sp)[12];
                  scePaf_846E1F0A (var62, 0x00000000, var68, var64, ((((var67 + var45) + 0xFFFFFFFF) / var45) * var45));
                  var71 = ((int *) var37)[14];
                  if ((((var71 + 0xFFFFFFFC) < 0x00000004)) != 0x00000000)
                  {
                    var104 var105 = scePaf_ABEBF18D (var35, 0x00000001);
                    ((int *) sp)[53] = var105;
                    ((int *) sp)[52] = var104;
                    if (var104 == 0x00000000)
                      goto label60;
                    var106 = sp + 0x00000100;
                    sub_13B50 (var106, 0x00000000);
                    var109 = ((int *) var35)[31];
                    if (var109 < 0)
                    {

                    label80:
                      var110 = ((int *) sp)[64];
                    }
                    else
                    {
                      if (((var109 < 0x00000003)) != 0x00000000)
                      {
                        var142 = scePaf_B7E6052B (0x00000028);
                        var143 = ((int *) sp)[53];
                        var144 = ((int *) var35)[31];
                        var145 = ((int *) var3)[6];
                        var135 = var142;

                      label75:
                        scePaf_4AB0D3F4 (var135, var134, var133, (var132 >> 0x00000002));
                        sub_13B70 (var106, var135);
                        var110 = ((int *) sp)[64];
                      }
                      else
                      {
                        if (!(var109 == 0x00000003))
                          goto label80;
                        var131 = scePaf_B7E6052B (0x00000028);
                        var132 = ((int *) sp)[53];
                        var133 = ((int *) var35)[31];
                        var134 = ((int *) var3)[6];
                        var135 = var131;
                        goto label75;
                      }
                    }
                    if (var110 == 0x00000000)
                    {
                      var126 = sp + 0x00000010;
                      sub_138B4 (var126, 0x00000000);
                      var117 = ((int *) sp)[64];
                      ((int *) (var1 + var3))[10] = 0x00000000;
                      ((int *) sp)[69] = 0xFFFFFC0A;
                    }
                    else
                    {
                      var111 = ((int *) sp)[52];
                      scePaf_9122393C (var110, var111);
                      var114 = ((int *) sp)[4];
                      scePaf_5C4BF618 (var114, var106);
                      var117 = ((int *) sp)[64];
                    }
                    if (!(var117 == 0x00000000))
                    {
                      var118 = ((int *) var117)[1];
                      var119 = var118 + 0xFFFFFFFF;
                      ((int *) var117)[1] = var119;
                      if (!(var119 > 0))
                      {
                        var120 = ((int *) var117)[0];
                        var121 = ((int *) var120)[1];
                        var124 var125 = (*var121) (var117);
                      }
                    }
                  }
                }
              }
              var72 = ((int *) sp)[70];
              if (!(var35 == 0x00000000))
              {
                scePaf_21A183A7 (var35);
                scePaf_4E67BB08 (var35);
                goto label101;
              }
            }
            if (var72 == 0x00000000)
            {
            }
            else
            {
              scePaf_545FE2DA (var72);
              goto label106;
            }
          }
          else
          {
            var18 = sp + 0x00000010;
            goto label19;
          }
        }
        else
        {
          var20 = sp + 0x000000A0;
          goto label24;
        }
      }
    }
  }
  if (var5 == 0x00000001)
  {
    var79 = ((int *) sp)[4];
    var99 = var3 + 0x00000004;

  label117:
    sub_138B4 (var99, var79);
    var80 = ((int *) sp)[4];
  }
  else
  {
    if (((var5 < 0x00000002)) != 0x00000000)
    {
      if (var5 != 0x00000000)
      {
        var80 = ((int *) sp)[4];
      }
      else
      {
        var79 = ((int *) sp)[4];
        var99 = var3;
        goto label117;
      }
    }
    else
    {
      var79 = ((int *) sp)[4];
      if (var5 == 0x00000002)
      {
        var99 = var3 + 0x00000008;
        goto label117;
      }
      else
      {
        var80 = ((int *) sp)[4];
      }
    }
  }
  var81 = ((int *) sp)[69];
  if (!(var80 == 0x00000000))
  {
    var82 = ((int *) var80)[1];
    var83 = var82 + 0xFFFFFFFF;
    ((int *) var80)[1] = var83;
    if (var83 <= 0)
    {
      var93 = ((int *) var80)[0];
      var94 = ((int *) var93)[1];
      var97 var98 = (*var94) (var80, var79);
      var81 = ((int *) sp)[69];
    }
    else
    {
      var81 = ((int *) sp)[69];
    }
  }
  ra = ((int *) sp)[81];
  var84 = ((int *) sp)[80];
  var85 = ((int *) sp)[79];
  var86 = ((int *) sp)[78];
  var87 = ((int *) sp)[77];
  var88 = ((int *) sp)[76];
  var89 = ((int *) sp)[75];
  var90 = ((int *) sp)[74];
  var91 = ((int *) sp)[73];
  var92 = ((int *) sp)[72];
  sp = sp + 0x00000150;
  return var81;
}

/**
 * Subroutine at address 0x00012EBC
 */
int sub_12EBC (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFF80;
  ((int *) sp)[28] = s4;
  var1 = arg2;
  ((int *) sp)[27] = s3;
  var2 = arg4;
  ((int *) sp)[26] = s2;
  var3 = arg1;
  ((int *) sp)[25] = s1;
  var4 = arg3;
  ((int *) sp)[29] = ra;
  ((int *) sp)[24] = s0;
  if (arg2 == 0x00000004)
  {
    var35 = ((int *) arg3)[0];
    ((int *) var3)[14] = 0x00000001;
    var36 = sp;
    var39 = IoFileMgrForUser_ACE946E8 (var35, var36);
    var10 = 0xFFFFFC0C;
    if (!(var39 != 0x00000000))
    {
      var40 = ((int *) sp)[3];
      var41 = var2 >> 0x0000001F;
      if (((var41 < var40)) != 0x00000000)
      {
        var10 = 0xFFFFFC0B;
      }
      else
      {
        var42 = ((int *) sp)[2];
        if (var40 == var41)
        {
          var10 = 0xFFFFFC0B;
          if (!(((var2 < var42)) != 0x00000000))
          {

          label11:
            var45 = scePaf_B7E6052B (0x00000014);
            var46 = var45;
            var47 = ((int *) var4)[0];
            ((int *) var46)[0] = 0x0001E4B0;
            ((int *) var46)[1] = 0x00000000;
            ((int *) var46)[2] = 0x00000000;
            var48 = var3 + 0x0000000C;
            ((int *) var46)[3] = 0x00000000;
            ((int *) var46)[4] = 0x00000000;
            var51 = scePaf_27760582 (var47, 0x00000000, 0x00000000, (var46 + 0x00000010), 0x00000000);
            ((int *) var46)[2] = var51;
            if (!(var51 != 0x00000000))
            {
              ((int *) var46)[3] = 0x00000000;
              ((int *) var46)[4] = 0x00000000;
            }
            sub_13A98 (var48, var46);
            var54 = ((int *) var3)[3];
            if (var54 == 0x00000000)
            {
              var34 = var1 << 0x00000002;

            label47:
              var10 = 0xFFFFFC0A;
              ((int *) (var34 + var3))[10] = 0x00000000;
            }
            else
            {
              var55 = ((int *) var54)[4];
              if (((var2 < var55)) == 0x00000000)
              {
                var10 = 0x00000000;
              }
              else
              {
                sub_13A98 (var48, 0x00000000);
                var10 = 0xFFFFFC0B;
              }
            }
          }
        }
        else
        goto label11;
      }
    }
  }
  else
  {
    if (arg2 != 0x00000005)
    {
      var10 = 0xFFFFFC0D;
    }
    else
    {
      var5 = ((int *) arg3)[0];
      ((int *) var3)[15] = 0x00000001;
      var6 = sp;
      var9 = IoFileMgrForUser_ACE946E8 (var5, var6);
      var10 = 0xFFFFFC0C;
      if (!(var9 != 0x00000000))
      {
        var11 = ((int *) sp)[3];
        var12 = var2 >> 0x0000001F;
        if (((var12 < var11)) != 0x00000000)
        {
          var10 = 0xFFFFFC0B;
        }
        else
        {
          var13 = ((int *) sp)[2];
          if (var11 == var12)
          {
            var10 = 0xFFFFFC0B;
            if (!(((var2 < var13)) != 0x00000000))
            {

            label37:
              var16 = scePaf_B7E6052B (0x00000014);
              var17 = var16;
              var18 = ((int *) var4)[0];
              ((int *) var17)[0] = 0x0001E4A0;
              ((int *) var17)[1] = 0x00000000;
              ((int *) var17)[2] = 0x00000000;
              var19 = var3 + 0x00000010;
              ((int *) var17)[3] = 0x00000000;
              ((int *) var17)[4] = 0x00000000;
              var22 = scePaf_27760582 (var18, 0x00000000, 0x00000000, (var17 + 0x00000010), 0x00000000);
              ((int *) var17)[2] = var22;
              if (!(var22 != 0x00000000))
              {
                ((int *) var17)[3] = 0x00000000;
                ((int *) var17)[4] = 0x00000000;
              }
              sub_13AF4 (var19, var17);
              var25 = ((int *) var3)[4];
              if (var25 == 0x00000000)
              {
                var34 = var1 << 0x00000002;
                goto label47;
              }
              else
              {
                var26 = ((int *) var25)[4];
                if (((0x0007D000 < var26)) != 0x00000000)
                {
                  sub_13AF4 (var19, 0x00000000);
                  var10 = 0xFFFFFC0B;
                }
                else
                {
                  var10 = 0x00000000;
                }
              }
            }
          }
          else
          goto label37;
        }
      }
    }
  }
  ra = ((int *) sp)[29];
  var27 = ((int *) sp)[28];
  var28 = ((int *) sp)[27];
  var29 = ((int *) sp)[26];
  var30 = ((int *) sp)[25];
  var31 = ((int *) sp)[24];
  sp = sp + 0x00000080;
  return var10;
}

/**
 * Subroutine at address 0x000130F4
 */
int sub_130F4 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFF80;
  ((int *) sp)[27] = s3;
  ((int *) sp)[26] = s2;
  ((int *) sp)[24] = s0;
  var1 = arg3;
  ((int *) sp)[28] = ra;
  ((int *) sp)[25] = s1;
  ((int *) arg2)[0] = 0x00000000;
  var2 = sp;
  var3 = ((int *) arg1)[0];
  var6 = IoFileMgrForUser_ACE946E8 (var3, var2);
  var7 = 0x00000000;
  if (var6 != 0x00000000)
  {

  label25:
    ra = ((int *) sp)[28];
  }
  else
  {
    var8 = ((int *) sp)[3];
    if (var1 < 0)
    {

    label10:
      var11 = ((int *) sp)[2];
      var14 = scePaf_5FAC9869 (var11);
      var15 = var14;
      var7 = 0x00000000;
      if (!(var14 == 0x00000000))
      {
        var16 = ((int *) arg1)[0];
        var19 = IoFileMgrForUser_109F50BC (var16, 0x00000001, 0x000001FF);
        if (var19 < 0)
        {

        label19:
          scePaf_545FE2DA (var15);
          var7 = 0x00000000;
        }
        else
        {
          var20 = ((int *) sp)[2];
          var23 = IoFileMgrForUser_6A638D83 (var19, var15, var20);
          var24 = ((int *) sp)[2];
          if (var23 != var24)
            goto label19;
          IoFileMgrForUser_810C4BC3 (var19);
          var27 = ((int *) sp)[2];
          var7 = var15;
          ((int *) arg2)[0] = var27;
        }
      }
      goto label25;
    }
    else
    {
      var9 = var1 >> 0x0000001F;
      ra = ((int *) sp)[28];
      if (!(((var9 < var8)) != 0x00000000))
      {
        var10 = ((int *) sp)[2];
        if (!(var8 == var9))
          goto label10;
        var7 = 0x00000000;
        if (!(((var1 < var10)) != 0x00000000))
        {
          goto label10;
        }
        goto label25;
      }
    }
  }
  var28 = ((int *) sp)[27];
  var29 = ((int *) sp)[26];
  var30 = ((int *) sp)[25];
  var31 = ((int *) sp)[24];
  sp = sp + 0x00000080;
  return var7;
}

/**
 * Subroutine at address 0x000131F4
 */
void sub_131F4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s5;
  ((int *) sp)[4] = s4;
  var1 = 0x0000000B;
  ((int *) sp)[3] = s3;
  var2 = arg1;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var3 = var2 + 0x00000070;
  ((int *) sp)[0] = s0;
  var4 = arg2;
  var5 = var4 + 0x00000070;
  var6 = ((int *) arg2)[2];
  var7 = ((unsigned char *) arg2)[1];
  var8 = ((int *) arg2)[1];
  var9 = ((unsigned char *) arg2)[0];
  ((int *) var2)[2] = var6;
  ((char *) arg1)[0] = var9;
  ((char *) var2)[1] = var7;
  ((int *) var2)[1] = var8;
  sub_139FC ((arg1 + 0x0000000C), (arg2 + 0x0000000C));
  var12 = ((int *) var4)[6];
  var13 = ((int *) var4)[8];
  var14 = ((int *) var4)[7];
  ((int *) var2)[6] = var12;
  ((int *) var2)[8] = var13;
  ((int *) var2)[7] = var14;
  sub_139FC ((var2 + 0x00000024), (var4 + 0x00000024));
  var17 = ((int *) var4)[12];
  var18 = ((int *) var4)[14];
  var19 = ((int *) var4)[15];
  var20 = ((int *) var4)[13];
  ((int *) var2)[12] = var17;
  ((int *) var2)[14] = var18;
  ((int *) var2)[15] = var19;
  ((int *) var2)[13] = var20;
  sub_139FC ((var2 + 0x00000040), (var4 + 0x00000040));
  var23 = ((int *) var4)[19];
  var24 = ((int *) var4)[20];
  var25 = ((int *) var4)[21];
  var26 = ((int *) var4)[22];
  ((int *) var2)[19] = var23;
  ((int *) var2)[20] = var24;
  ((int *) var2)[21] = var25;
  ((int *) var2)[22] = var26;
  sub_139FC ((var2 + 0x0000005C), (var4 + 0x0000005C));
  var29 = ((unsigned char *) var4)[104];
  var30 = ((int *) var4)[27];
  ((char *) var2)[104] = var29;
  ((int *) var2)[27] = var30;
  while (1) {
    var31 = ((unsigned char *) var5)[0];
    ((char *) var3)[0] = var31;
    var1 = var1 + 0xFFFFFFFF;
    var3 = var3 + 0x00000010;
    sub_139FC ((var3 + 0x00000004), (var5 + 0x00000004));
    var5 = var5 + 0x00000010;
    if (var1 != 0xFFFFFFFF)
      continue;
    break;
  }
  ra = ((int *) sp)[6];
  var34 = ((int *) sp)[5];
  var35 = ((int *) sp)[4];
  var36 = ((int *) sp)[3];
  var37 = ((int *) sp)[2];
  var38 = ((int *) sp)[1];
  var39 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00013330
 */
void sub_13330 (int arg1)
{
  ((int *) arg1)[3] = 0x00000000;
  sp = sp + 0xFFFFFFF0;
  var1 = arg1 + 0x00000070;
  ((int *) arg1)[4] = 0x00000000;
  var2 = 0x0000000B;
  ((int *) arg1)[9] = 0x00000000;
  ((int *) arg1)[10] = 0x00000000;
  ((int *) arg1)[16] = 0x00000000;
  ((int *) arg1)[17] = 0x00000000;
  ((int *) arg1)[23] = 0x00000000;
  ((int *) arg1)[24] = 0x00000000;
  while (1) {
    var2 = var2 + 0xFFFFFFFF;
    ((int *) var1)[1] = 0x00000000;
    ((int *) var1)[2] = 0x00000000;
    var1 = var1 + 0x00000010;
    if (var2 != 0xFFFFFFFF)
      continue;
    break;
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013388
 */
void sub_13388 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[8] = ra;
  var1 = arg1 + 0x0000000C;
  ((int *) sp)[7] = s7;
  ((int *) sp)[6] = s6;
  ((int *) sp)[5] = s5;
  var2 = 0x0000000B;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var3 = arg2;
  var4 = var3 + 0x00000070;
  ((int *) sp)[0] = s0;
  var5 = arg1;
  var6 = var5 + 0x00000070;
  var7 = ((int *) arg2)[2];
  var8 = ((unsigned char *) arg2)[1];
  var9 = ((int *) arg2)[1];
  var10 = ((unsigned char *) arg2)[0];
  ((int *) var5)[2] = var7;
  ((int *) arg1)[1] = var9;
  ((char *) var5)[1] = var8;
  ((char *) var5)[0] = var10;
  ((int *) var1)[1] = 0x00000000;
  ((int *) var5)[3] = 0x00000000;
  sub_139FC (var1, (arg2 + 0x0000000C));
  var13 = ((int *) var3)[6];
  var14 = ((int *) var3)[7];
  var15 = ((int *) var3)[8];
  var16 = var5 + 0x00000024;
  ((int *) var5)[6] = var13;
  ((int *) var5)[7] = var14;
  ((int *) var5)[8] = var15;
  ((int *) var5)[9] = 0x00000000;
  ((int *) var16)[1] = 0x00000000;
  sub_139FC (var16, (var3 + 0x00000024));
  var19 = ((int *) var3)[12];
  var20 = ((int *) var3)[13];
  var21 = ((int *) var3)[14];
  var22 = ((int *) var3)[15];
  var23 = var5 + 0x00000040;
  ((int *) var5)[12] = var19;
  ((int *) var5)[13] = var20;
  ((int *) var5)[14] = var21;
  ((int *) var5)[15] = var22;
  ((int *) var5)[16] = 0x00000000;
  ((int *) var23)[1] = 0x00000000;
  sub_139FC (var23, (var3 + 0x00000040));
  var26 = ((int *) var3)[19];
  var27 = ((int *) var3)[20];
  var28 = ((int *) var3)[21];
  var29 = ((int *) var3)[22];
  var30 = var5 + 0x0000005C;
  ((int *) var5)[19] = var26;
  ((int *) var5)[20] = var27;
  ((int *) var5)[21] = var28;
  ((int *) var5)[22] = var29;
  ((int *) var5)[23] = 0x00000000;
  ((int *) var30)[1] = 0x00000000;
  sub_139FC (var30, (var3 + 0x0000005C));
  var33 = ((unsigned char *) var3)[104];
  var34 = ((int *) var3)[27];
  ((char *) var5)[104] = var33;
  ((int *) var5)[27] = var34;
  var35 = ((unsigned char *) var4)[0];
  while (1) {
    var36 = var6 + 0x00000004;
    ((int *) var6)[1] = 0x00000000;
    var2 = var2 + 0xFFFFFFFF;
    ((char *) var6)[0] = var35;
    var6 = var6 + 0x00000010;
    ((int *) var36)[1] = 0x00000000;
    var4 = var4 + 0x00000010;
    sub_139FC (var36, (var4 + 0x00000004));
    if (!(var2 != 0xFFFFFFFF))
      break;
    var35 = ((unsigned char *) var4)[0];
    continue;
  }
  ra = ((int *) sp)[8];
  var39 = ((int *) sp)[7];
  var40 = ((int *) sp)[6];
  var41 = ((int *) sp)[5];
  var42 = ((int *) sp)[4];
  var43 = ((int *) sp)[3];
  var44 = ((int *) sp)[2];
  var45 = ((int *) sp)[1];
  var46 = ((int *) sp)[0];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0001351C
 */
void sub_1351C (int arg1)
{
  ((int *) arg1)[1] = 0x00000000;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  var4 = scePaf_FCB4E053 (0x0000000C);
  ((int *) var1)[0] = var4;
  ((int *) var4)[0] = var4;
  ra = ((int *) sp)[1];
  var5 = ((int *) var1)[0];
  var6 = ((int *) sp)[0];
  ((int *) var5)[1] = var5;
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013558
 */
void sub_13558 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  var1 = ((int *) arg1)[0];
  var2 = ((int *) var1)[1];
  if (!(var2 == var1))
  {
    while (1) {
      var3 = ((int *) var2)[1];
      scePaf_7EC15225 (var2);
      var6 = ((int *) arg1)[0];
      var2 = var3;
      if (var3 != var6)
        continue;
      break;
    }
  }
  scePaf_7EC15225 (var6);
  ra = ((int *) sp)[2];
  var9 = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000135B0
 */
int sub_135B0 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  var1 = arg1;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var2 = arg3;
  var3 = ((int *) arg1)[1];
  var6 = scePaf_FCB4E053 (((var3 + arg3) + 0x00000001));
  var7 = var6;
  var8 = ((int *) var1)[1];
  var9 = ((int *) var1)[0];
  scePaf_F95EA3F1 (var7, var9, var8);
  var12 = ((int *) var1)[1];
  scePaf_F95EA3F1 ((var7 + var12), arg2, var2);
  var15 = ((int *) var1)[1];
  ((char *) (var7 + (var15 + var2)))[0] = 0x00000000;
  var16 = ((int *) var1)[0];
  if (!(var16 == 0x00000000))
  {
    scePaf_7EC15225 (var16);
  }
  ((int *) var1)[0] = var7;
  ((int *) var1)[1] = (var8 + var2);
  ra = ((int *) sp)[5];
  var19 = ((int *) sp)[4];
  var20 = ((int *) sp)[3];
  var21 = ((int *) sp)[2];
  var22 = ((int *) sp)[1];
  var23 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return var1;
}

/**
 * Subroutine at address 0x00013670
 */
void sub_13670 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  var1 = arg1;
  ((int *) sp)[2] = s2;
  var2 = arg2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[4] = ra;
  ((int *) sp)[0] = s0;
  var3 = ((int *) arg3)[0];
  var6 = scePaf_FCB4E053 (0x0000000C);
  var7 = var6;
  if ((var6 + 0x00000008) == 0x00000000)
  {
    var9 = ((int *) var3)[0];
  }
  else
  {
    var8 = ((int *) arg4)[0];
    ((int *) var7)[2] = var8;
    var9 = ((int *) var3)[0];
  }
  var10 = ((int *) var2)[1];
  ((int *) var7)[1] = var3;
  ((int *) var7)[0] = var9;
  var11 = ((int *) var3)[0];
  ((int *) var2)[1] = (var10 + 0x00000001);
  ((int *) var3)[0] = var7;
  ((int *) var11)[1] = var7;
  ra = ((int *) sp)[4];
  ((int *) var1)[0] = var7;
  var12 = ((int *) sp)[2];
  var13 = ((int *) sp)[3];
  var14 = ((int *) sp)[1];
  var15 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00013700
 */
void sub_13700 (int arg1, int arg2)
{
  ((int *) arg1)[0] = arg2;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_13BE8 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013720
 */
void sub_13720 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFF0;
  var1 = ((int *) arg3)[0];
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  var2 = arg2;
  ((int *) sp)[1] = s1;
  var3 = arg1;
  ((int *) sp)[0] = s0;
  var4 = ((int *) var1)[1];
  var5 = ((int *) var1)[0];
  ((int *) var4)[0] = var5;
  var6 = ((int *) var1)[0];
  ((int *) var6)[1] = var4;
  scePaf_7EC15225 (var1);
  var9 = ((int *) var2)[1];
  ((int *) var3)[0] = var4;
  ((int *) var2)[1] = (var9 + 0xFFFFFFFF);
  ra = ((int *) sp)[3];
  var10 = ((int *) sp)[2];
  var11 = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013788
 */
void sub_13788 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  var1 = arg1;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var2 = arg3;
  var3 = ((int *) arg1)[1];
  var6 = scePaf_FCB4E053 ((((var3 + arg3) + 0x00000001) << 0x00000001));
  var7 = var6;
  var8 = ((int *) var1)[1];
  var9 = ((int *) var1)[0];
  scePaf_F95EA3F1 (var7, var9, (var8 << 0x00000001));
  var12 = ((int *) var1)[1];
  scePaf_F95EA3F1 ((var7 + (var12 << 0x00000001)), arg2, (var2 << 0x00000001));
  var15 = ((int *) var1)[1];
  var16 = ((int *) var1)[0];
  ((short *) (((var15 + var2) << 0x00000001) + var7))[0] = 0x00000000;
  if (!(var16 == 0x00000000))
  {
    scePaf_7EC15225 (var16);
  }
  ((int *) var1)[0] = var7;
  ((int *) var1)[1] = (var8 + var2);
  ra = ((int *) sp)[5];
  var19 = ((int *) sp)[4];
  var20 = ((int *) sp)[3];
  var21 = ((int *) sp)[2];
  var22 = ((int *) sp)[1];
  var23 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00013854
 */
void sub_13854 (int arg1, int arg2)
{
  ((int *) arg1)[0] = arg2;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_13C08 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013874
 */
void sub_13874 (int arg1, int arg2)
{
  ((int *) arg1)[0] = arg2;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_13C38 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013894
 */
void sub_13894 (int arg1, int arg2)
{
  var1 = ((int *) arg2)[0];
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  ((int *) arg1)[0] = var1;
  sub_13BE8 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000138B4
 */
void sub_138B4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg2;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var2 = ((int *) arg1)[0];
  var3 = arg1;
  if (!(var2 == arg2))
  {
    if (var2 == 0x00000000)
    {
      ((int *) var3)[0] = var1;
    }
    else
    {
      var4 = ((int *) var2)[1];
      var5 = var4 + 0xFFFFFFFF;
      ((int *) var2)[1] = var5;
      if (var5 <= 0)
      {
        var10 = ((int *) var2)[0];
        var11 = ((int *) var10)[1];
        var14 var15 = (*var11) (var2, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
        ((int *) var3)[0] = var1;
      }
      else
      {
        ((int *) var3)[0] = var1;
      }
    }
    sub_13BE8 (var3);
  }
  ra = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001392C
 */
void sub_1392C (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var1 = arg2;
  ((int *) sp)[0] = s0;
  var2 = arg1;
  var3 = ((int *) arg1)[1];
  var6 = scePaf_FCB4E053 (((var3 + arg2) + 0x00000001));
  var7 = var6;
  var8 = ((int *) var2)[1];
  var9 = ((int *) var2)[0];
  scePaf_F95EA3F1 (var7, var9, var8);
  var12 = 0x00000000;
  if (!(var1 == 0x00000000))
  {
    while (1) {
      var13 = ((int *) var2)[1];
      var12 = var12 + 0x00000001;
      ((char *) (var7 + (var13 + var12)))[0] = ((char) arg3);
      if (((var12 < var1)) != 0x00000000)
        continue;
      break;
    }
  }
  var14 = ((int *) var2)[1];
  ((char *) (var7 + (var14 + var1)))[0] = 0x00000000;
  var15 = ((int *) var2)[0];
  if (var15 == 0x00000000)
  {
    ((int *) var2)[0] = var7;
  }
  else
  {
    scePaf_7EC15225 (var15);
    ((int *) var2)[0] = var7;
  }
  ((int *) var2)[1] = (var8 + var1);
  ra = ((int *) sp)[5];
  var18 = ((int *) sp)[4];
  var19 = ((int *) sp)[3];
  var20 = ((int *) sp)[2];
  var21 = ((int *) sp)[1];
  var22 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000139FC
 */
void sub_139FC (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var1 = arg1;
  ((int *) sp)[0] = s0;
  var2 = arg2;
  ((int *) sp)[3] = ra;
  var3 = ((int *) arg1)[0];
  if (!(var3 == 0x00000000))
  {
    scePaf_7EC15225 (var3);
  }
  var6 = ((int *) var2)[1];
  if (var6 != 0x00000000)
  {
    var12 = scePaf_FCB4E053 (((var6 + 0x00000001) << 0x00000001));
    ((int *) var1)[0] = var12;
    var13 = ((int *) var2)[1];
    var14 = ((int *) var2)[0];
    ((int *) var1)[1] = var13;
    scePaf_F95EA3F1 (var12, var14, ((var13 << 0x00000001) + 0x00000002));
  }
  else
  {
    ((int *) var1)[0] = 0x00000000;
    ((int *) var1)[1] = 0x00000000;
  }
  ra = ((int *) sp)[3];
  var7 = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013A98
 */
void sub_13A98 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg2;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var2 = ((int *) arg1)[0];
  var3 = arg1;
  if (!(var2 == arg2))
  {
    if (var2 != 0x00000000)
    {
      scePaf_BA09CF46 (var2);
      ((int *) var3)[0] = var1;
    }
    else
    {
      ((int *) var3)[0] = var1;
    }
    sub_13C08 (var3);
  }
  ra = ((int *) sp)[2];
  var6 = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013AF4
 */
void sub_13AF4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg2;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var2 = ((int *) arg1)[0];
  var3 = arg1;
  if (!(var2 == arg2))
  {
    if (var2 != 0x00000000)
    {
      scePaf_BA09CF46 (var2);
      ((int *) var3)[0] = var1;
    }
    else
    {
      ((int *) var3)[0] = var1;
    }
    sub_13C38 (var3);
  }
  ra = ((int *) sp)[2];
  var6 = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013B50
 */
void sub_13B50 (int arg1, int arg2)
{
  ((int *) arg1)[0] = arg2;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_13C68 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013B70
 */
void sub_13B70 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg2;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var2 = ((int *) arg1)[0];
  var3 = arg1;
  if (!(var2 == arg2))
  {
    if (var2 == 0x00000000)
    {
      ((int *) var3)[0] = var1;
    }
    else
    {
      var4 = ((int *) var2)[1];
      var5 = var4 + 0xFFFFFFFF;
      ((int *) var2)[1] = var5;
      if (var5 <= 0)
      {
        var10 = ((int *) var2)[0];
        var11 = ((int *) var10)[1];
        var14 var15 = (*var11) (var2, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
        ((int *) var3)[0] = var1;
      }
      else
      {
        ((int *) var3)[0] = var1;
      }
    }
    sub_13C68 (var3);
  }
  ra = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013BE8
 */
void sub_13BE8 (int arg1)
{
  var1 = ((int *) arg1)[0];
  if (!(var1 == 0x00000000))
  {
    var2 = ((int *) var1)[1];
    ((int *) var1)[1] = (var2 + 0x00000001);
  }
  return;
}

/**
 * Subroutine at address 0x00013C08
 */
void sub_13C08 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[0];
  if (var1 != 0x00000000)
  {
    scePaf_8DEB3DB3 (var1);
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013C38
 */
void sub_13C38 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[0];
  if (var1 != 0x00000000)
  {
    scePaf_8DEB3DB3 (var1);
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013C68
 */
void sub_13C68 (int arg1)
{
  var1 = ((int *) arg1)[0];
  if (!(var1 == 0x00000000))
  {
    var2 = ((int *) var1)[1];
    ((int *) var1)[1] = (var2 + 0x00000001);
  }
  return;
}

/**
 * Subroutine at address 0x00013C88
 */
void sub_13C88 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = ((int *) arg1)[2];
  ((int *) arg1)[0] = 0x0001E4B0;
  if (var1 != 0x00000000)
  {
    var3 = ((int *) arg1)[3];
    scePaf_9948CDB3 (var3, 0x00000000, var1);
  }
  else
  {
  }
  ((int *) arg1)[0] = 0x0001E4C0;
  ra = ((int *) sp)[1];
  var2 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013CE0
 */
void sub_13CE0 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = arg1;
  var2 = ((int *) arg1)[2];
  ((int *) arg1)[0] = 0x0001E4B0;
  if (var2 != 0x00000000)
  {
    var6 = ((int *) arg1)[3];
    scePaf_9948CDB3 (var6, 0x00000000, var2);
  }
  else
  {
  }
  ((int *) var1)[0] = 0x0001E4C0;
  scePaf_4E67BB08 (var1);
  ra = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013D40
 */
void sub_13D40 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = ((int *) arg1)[2];
  ((int *) arg1)[0] = 0x0001E4A0;
  if (var1 != 0x00000000)
  {
    var3 = ((int *) arg1)[3];
    scePaf_9948CDB3 (var3, 0x00000000, var1);
  }
  else
  {
  }
  ((int *) arg1)[0] = 0x0001E4C0;
  ra = ((int *) sp)[1];
  var2 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013D98
 */
void sub_13D98 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = arg1;
  var2 = ((int *) arg1)[2];
  ((int *) arg1)[0] = 0x0001E4A0;
  if (var2 != 0x00000000)
  {
    var6 = ((int *) arg1)[3];
    scePaf_9948CDB3 (var6, 0x00000000, var2);
  }
  else
  {
  }
  ((int *) var1)[0] = 0x0001E4C0;
  scePaf_4E67BB08 (var1);
  ra = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013DF8
 */
void sub_13DF8 (int arg1)
{
  ((int *) arg1)[0] = 0x0001E4C0;
  return;
}

/**
 * Subroutine at address 0x00013E08
 */
void sub_13E08 (int arg1)
{
  ((int *) arg1)[0] = 0x0001E4C0;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  scePaf_4E67BB08 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00013E30
 */
void sub_13E30 (int arg1)
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[12] = ra;
  __asm__ ("mtc1       $zr, $fpr12;");
  ((int *) sp)[11] = s3;
  ((int *) sp)[10] = s2;
  var1 = arg1;
  ((int *) sp)[9] = s1;
  ((int *) sp)[8] = s0;
  __asm__ ("swc1       $fpr20, 64($sp);"
    : 
    : "=r"(sp));
  var2 = ((int *) arg1)[0];
  var3 = ((int *) var2)[21];
  var6 var7 = (*var3) (arg1, 0x00000001, arg3, arg4, arg5, arg6, arg7, arg8);
  var10 = scePaf_EAA5AFF6 (var1, 0x01000003);
  var11 = *((int *) 0x00020E84);
  __asm__ ("lwc1       $fpr12, -6856($a0);");
  var12 = ((int *) var11)[41];
  var13 = ((int *) var12)[206];
  var14 = ((int *) var12)[216];
  var15 = ((int *) (var14 + (var13 << 0x00000002)))[0];
  scePaf_9430557B (var15);
  var18 = *((int *) 0x00020E84);
  __asm__ ("lwc1       $fpr20, -6860($v0);"
           "mtc1       $zr, $fpr12;");
  var19 = ((int *) var18)[41];
  __asm__ ("mov.s      $fpr13, $fpr20;");
  __asm__ ("mov.s      $fpr14, $fpr12;");
  scePaf_CC103AD2 (var19);
  var22 = *((int *) 0x00020E84);
  __asm__ ("mtc1       $zr, $fpr12;"
           "mov.s      $fpr13, $fpr20;");
  var23 = ((int *) var22)[41];
  __asm__ ("mov.s      $fpr14, $fpr12;");
  scePaf_7435C5D5 (var23);
  var26 = *((int *) 0x00020E84);
  __asm__ ("mtc1       $zr, $fpr12;");
  var27 = ((int *) var26)[41];
  __asm__ ("mov.s      $fpr13, $fpr12;");
  var28 = ((int *) var27)[206];
  scePaf_97B9C21E (var27, var28);
  var31 = *((int *) 0x00020E84);
  ((int *) sp)[2] = 0x00000000;
  __asm__ ("mov.s      $fpr12, $fpr20;");
  var32 = ((int *) var31)[41];
  __asm__ ("lwc1       $fpr00, -6852($v0);");
  __asm__ ("lwc1       $fpr01, -6844($s3);"
           "lwc1       $fpr13, 8($sp);"
           "swc1       $fpr00, 0($sp);"
    : 
    : "=r"(sp));
  var33 = sp;
  __asm__ ("lwc1       $fpr00, -6848($v0);"
           "swc1       $fpr01, 12($sp);"
    : 
    : "=r"(sp));
  __asm__ ("swc1       $fpr00, 4($sp);"
    : 
    : "=r"(sp));
  scePaf_9D496842 (var32, var33, 0x00000001);
  var36 = *((int *) 0x00020E80);
  var39 = scePaf_4708AED4 (var36, "info_list");
  var40 = var39;
  sub_14228 (var39);
  var43 = *((int *) 0x00020E84);
  var46 = sub_11A58 (var43);
  var47 = *((int *) 0x00020E84);
  var48 = ((int *) var47)[42];
  if (var48 != 0x00000000)
  {
    var85 = sub_119BC (var47, var46);
    var86 = *((int *) 0x00020E84);
    var87 = ((int *) var86)[42];
    sceVshCommonGui_5074C948 (var87, (((0x00000000 - ((var85 < 0x00000001))) & 0x00000F00) + 0x00000100), 0x00000000);
    var49 = *((int *) 0x00020E84);
  }
  else
  {
    var49 = *((int *) 0x00020E84);
  }
  var50 = ((int *) var49)[42];
  if (var50 != 0x00000000)
  {
    __asm__ ("mtc1       $zr, $fpr13;");
    __asm__ ("mov.s      $fpr12, $fpr20;");
    sceVshCommonGui_5D36BCE6 ();
    var49 = *((int *) 0x00020E84);
  }
  var51 = ((int *) var49)[12];
  if (var51 == 0x00000001)
  {
    sub_1437C (var40);
    __asm__ ("lwc1       $fpr00, -6844($s3);");
  }
  else
  {
    sub_145E0 (var40);
    __asm__ ("lwc1       $fpr00, -6844($s3);");
  }
  var54 = ((int *) var1)[0];
  __asm__ ("lwc1       $fpr12, -6840($v0);"
           "swc1       $fpr00, 12($sp);"
    : 
    : "=r"(sp));
  __asm__ ("mov.s      $fpr13, $fpr12;"
           "swc1       $fpr00, 0($sp);"
    : 
    : "=r"(sp));
  var55 = sp;
  ((int *) sp)[1] = 0x00000000;
  ((int *) sp)[2] = 0x00000000;
  var56 = ((int *) var54)[49];
  var57 = sp + 0x00000010;
  var60 var61 = (*var56) (var1, 0x01000003, 0x00000004, var55);
  var62 = *((int *) 0x00020E84);
  var63 = ((int *) var62)[40];
  var66 = scePaf_BB3CBD19 (var63, "msgsystem_back", 0xFFFFFFFF);
  sceVshCommonGui_54BC644C (var57, var66);
  sub_139FC (0x00020E98, var57);
  sub_0B3B4 (var57);
  sceVshCommonGui_441D55D7 (0x00000001);
  ra = ((int *) sp)[12];
  var75 = ((int *) sp)[11];
  var76 = ((int *) sp)[10];
  var77 = ((int *) sp)[9];
  var78 = ((int *) sp)[8];
  __asm__ ("lwc1       $fpr20, 64($sp);");
  sp = sp + 0x00000050;
  return;
}

/**
 * Subroutine at address 0x00014098
 */
void sub_14098 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[8] = s0;
  ((int *) sp)[9] = s1;
  ((int *) sp)[11] = ra;
  ((int *) sp)[10] = s2;
  __asm__ ("swc1       $fpr21, 52($sp);"
           "swc1       $fpr20, 48($sp);"
    : 
    : "=r"(sp));
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[42];
  var3 = arg1;
  if (var2 == 0x00000000)
  {

  label4:
    var5 = ((int *) var1)[27];
    var6 = sp + 0x00000010;
    if (var5 <= 0)
    {
      var10 = ((int *) var1)[40];
      scePaf_49CE42F7 (var10, "snd_cancel");
      var13 = *((int *) 0x00020E84);
      ((int *) sp)[0] = 0x00000000;
      __asm__ ("lwc1       $fpr20, -6832($v0);"
               "lwc1       $fpr13, 0($sp);"
               "lwc1       $fpr21, -6836($v1);");
      var14 = ((int *) var13)[41];
      __asm__ ("mov.s      $fpr12, $fpr20;");
      var15 = sp;
      __asm__ ("swc1       $fpr13, 4($sp);"
               "swc1       $fpr13, 8($sp);"
        : 
        : "=r"(sp));
      __asm__ ("swc1       $fpr21, 12($sp);"
        : 
        : "=r"(sp));
      scePaf_9D496842 (var14, var15, 0x00000000);
      __asm__ ("mtc1       $zr, $fpr13;");
      var18 = *((int *) 0x00020E84);
      __asm__ ("mov.s      $fpr12, $fpr20;");
      var19 = ((int *) var18)[42];
      if (var19 != 0x00000000)
      {
        sceVshCommonGui_61A1FA3A (var19);
        var20 = ((int *) var3)[0];
      }
      else
      {
        var20 = ((int *) var3)[0];
      }
      ((int *) sp)[0] = 0x00000000;
      __asm__ ("lwc1       $fpr13, 0($sp);");
      var21 = ((int *) var20)[49];
      __asm__ ("swc1       $fpr21, 12($sp);"
        : 
        : "=r"(sp));
      __asm__ ("mov.s      $fpr12, $fpr20;");
      ((int *) sp)[1] = 0x00000000;
      var22 = sp;
      ((int *) sp)[2] = 0x00000000;
      var25 var26 = (*var21) (var3, 0x01000003, 0x00000004, var22);
      __asm__ ("mov.s      $fpr12, $fpr20;");
      scePaf_EF52945B (var3, 0x00000378, 0x000141F4, 0x00000000);
      sceVshCommonGui_441D55D7 (0x00000000);
      var31 = *((int *) 0x00020E98);
      sceVshCommonGui_54BC644C (var6, var31);
      sub_0B3B4 (var6);
      ra = ((int *) sp)[11];
    }
    else
    {
      ra = ((int *) sp)[11];
    }
  }
  else
  {
    var4 = ((int *) var2)[11];
    ra = ((int *) sp)[11];
    if (!(var4 == 0x00000001))
      goto label4;
  }
  var7 = ((int *) sp)[10];
  var8 = ((int *) sp)[9];
  var9 = ((int *) sp)[8];
  __asm__ ("lwc1       $fpr21, 52($sp);"
           "lwc1       $fpr20, 48($sp);");
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x000141F4
 */
void sub_141F4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_07CF0 (0x00000001, 0x00000004);
  var3 = *((int *) 0x00020E80);
  scePaf_3481F595 (var3, "page_info");
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014228
 */
void sub_14228 (int arg1)
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[15] = s7;
  ((int *) sp)[9] = s1;
  var1 = arg1;
  var2 = *((int *) 0x00020E84);
  ((int *) sp)[11] = s3;
  ((int *) sp)[17] = ra;
  ((int *) sp)[16] = fp;
  ((int *) sp)[14] = s6;
  ((int *) sp)[13] = s5;
  ((int *) sp)[12] = s4;
  ((int *) sp)[10] = s2;
  ((int *) sp)[8] = s0;
  var5 = sub_0D180 (var2);
  var6 = var5;
  if (var5 != 0x00000000)
  {
    scePaf_D2463C79 (var1, var5);
    var18 = 0x00000000;
    if (var6 <= 0)
    {

    label30:
      ra = ((int *) sp)[17];
    }
    else
    {
      var19 = 0x00000000;
      var20 = *((int *) 0x00020E84);
      while (1) {
        var21 = var18 << 0x00000010;
        var18 = var18 + 0x00000001;
        var24 = sub_0D318 (var20);
        var25 = *((int *) 0x00020E80);
        var28 = scePaf_BB3CBD19 (var25, (var24 + var19), 0xFFFFFFFF);
        var29 = sp;
        ((int *) sp)[0] = 0x00000000;
        var19 = var19 + 0x00000018;
        ((int *) sp)[1] = 0x00000000;
        sub_0B3E4 (var29, var28);
        var32 = ((int *) var1)[0];
        var33 = sp;
        var34 = ((int *) var32)[44];
        var37 var38 = (*var34) (var1, var33, (var21 | 0x000000C8));
        var39 = sp;
        sub_0B3B4 (var39);
        var42 = *((int *) 0x00020E80);
        var45 = scePaf_BB3CBD19 (var42, "msgshare_info_none", 0xFFFFFFFF);
        var46 = sp;
        ((int *) sp)[0] = 0x00000000;
        ((int *) sp)[1] = 0x00000000;
        sub_0B3E4 (var46, var45);
        var49 = ((int *) var1)[0];
        var50 = sp;
        var51 = ((int *) var49)[44];
        var54 var55 = (*var51) (var1, var50, (var21 | 0x000000C9));
        var56 = sp;
        sub_0B3B4 (var56);
        if (!(((var18 < var6)) != 0x00000000))
          break;
        var20 = *((int *) 0x00020E84);
        continue;
      }
      ra = ((int *) sp)[17];
    }
  }
  else
  goto label30;
  var7 = ((int *) sp)[16];
  var8 = ((int *) sp)[15];
  var9 = ((int *) sp)[14];
  var10 = ((int *) sp)[13];
  var11 = ((int *) sp)[12];
  var12 = ((int *) sp)[11];
  var13 = ((int *) sp)[10];
  var14 = ((int *) sp)[9];
  var15 = ((int *) sp)[8];
  sp = sp + 0x00000050;
  return;
}

/**
 * Subroutine at address 0x0001437C
 */
void sub_1437C (int arg1)
{
  sp = sp + 0xFFFFFF80;
  ((int *) sp)[26] = s2;
  ((int *) sp)[27] = s3;
  ((int *) sp)[25] = s1;
  var1 = arg1;
  ((int *) sp)[24] = s0;
  ((int *) sp)[29] = ra;
  ((int *) sp)[28] = s4;
  var2 = *((int *) 0x00020E84);
  ((int *) sp)[5] = 0x00000000;
  var3 = ((int *) var2)[41];
  ((int *) sp)[4] = 0x00000000;
  var4 = ((int *) var3)[206];
  var5 = sp + 0x00000010;
  if (var4 == 0x00000003)
  {
    var6 = sp + 0x00000030;
    sub_11B04 (var6, var2, 0x00000004);
    sub_139FC (var5, var6);
    sub_0B3B4 (var6);
    var76 = *((int *) 0x00020E84);
    var15 = ((int *) var76)[69];
  }
  else
  {
    if (((var4 < 0x00000004)) == 0x00000000)
    {

    label20:
      var7 = *((int *) 0x00020E84);
      var6 = sp + 0x00000030;
      sub_11B04 (var6, var7, 0x00000008);
      sub_139FC (var5, var6);
      sub_0B3B4 (var6);
      var14 = *((int *) 0x00020E84);
      var15 = ((int *) var14)[56];
    }
    else
    {
      var6 = sp + 0x00000030;
      if (!(var4 == 0x00000002))
        goto label20;
      sub_11B04 (var6, var2, 0x00000001);
      sub_139FC (var5, var6);
      sub_0B3B4 (var6);
      var69 = *((int *) 0x00020E84);
      var15 = ((int *) var69)[62];
    }
  }
  var16 = ((int *) var1)[0];
  var17 = sp + 0x00000010;
  var18 = ((int *) var16)[44];
  var21 var22 = (*var18) (var1, var17, 0x000000C9);
  ((int *) sp)[12] = 0x00000000;
  ((int *) sp)[13] = 0x00000000;
  if (var15 == 0x00000000)
  {
    var57 = *((int *) 0x00020E80);
    var60 = scePaf_BB3CBD19 (var57, "msgshare_info_none", 0xFFFFFFFF);
    sub_0B3E4 (var6, var60);
    var28 = sp + 0x00000050;
  }
  else
  {
    if (((var15 < 0x0000000A)) != 0x00000000)
    {
      ((short *) sp)[32] = (var15 + 0x00000030);
      ((short *) sp)[33] = 0x00000000;
    }
    else
    {
      ((short *) sp)[34] = 0x00000000;
      var23 = ((hi (var15 * 0x66666667)) >> 0x00000002) - (var15 >> 0x0000001F);
      ((short *) sp)[32] = (var23 + 0x00000030);
      ((short *) sp)[33] = ((var15 - (((var23 << 0x00000002) + var23) << 0x00000001)) + 0x00000030);
    }
    var24 = *((int *) 0x00020E80);
    var27 = scePaf_BB3CBD19 (var24, "msgshare_info_level", 0xFFFFFFFF);
    var28 = sp + 0x00000050;
    var29 = sp + 0x00000040;
    ((int *) sp)[0] = 0x00000000;
    ((int *) sp)[1] = 0x00000000;
    ((int *) sp)[2] = 0x00000000;
    scePaf_533F3856 (var28, var27, var29, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000);
    sub_139FC (var6, var28);
    sub_0B3B4 (var28);
  }
  var36 = ((int *) sp)[12];
  ((int *) sp)[20] = 0x00000000;
  ((int *) sp)[21] = 0x00000000;
  sub_0B3E4 (var28, var36);
  var39 = ((int *) var1)[0];
  var40 = ((int *) var39)[44];
  var43 var44 = (*var40) (var1, var28, 0x000100C9);
  sub_0B3B4 (var28);
  sub_0B3B4 (var6);
  var49 = sp + 0x00000010;
  sub_0B3B4 (var49);
  ra = ((int *) sp)[29];
  var52 = ((int *) sp)[28];
  var53 = ((int *) sp)[27];
  var54 = ((int *) sp)[26];
  var55 = ((int *) sp)[25];
  var56 = ((int *) sp)[24];
  sp = sp + 0x00000080;
  return;
}

/**
 * Subroutine at address 0x000145E0
 */
void sub_145E0 (int arg1)
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[15] = s3;
  ((int *) sp)[14] = s2;
  var1 = arg1;
  var2 = *((int *) 0x00020E84);
  ((int *) sp)[16] = ra;
  ((int *) sp)[13] = s1;
  var3 = sp + 0x00000010;
  ((int *) sp)[12] = s0;
  var6 = sub_11028 (var2);
  var7 = sp;
  sceVshCommonUtil_BFC546B6 (var7, 0x00000008, var6);
  var10 = sp;
  ((int *) sp)[4] = 0x00000000;
  ((int *) sp)[5] = 0x00000000;
  sub_0B3E4 (var3, var10);
  var13 = ((int *) var1)[0];
  var14 = ((int *) var13)[44];
  var17 var18 = (*var14) (var1, var3, 0x000000C9);
  sub_0B3B4 (var3);
  var21 = *((int *) 0x00020E84);
  var24 = sub_11084 (var21);
  var25 = sp;
  sceVshCommonUtil_BFC546B6 (var25, 0x00000008, var24);
  var28 = sp;
  ((int *) sp)[4] = 0x00000000;
  ((int *) sp)[5] = 0x00000000;
  sub_0B3E4 (var3, var28);
  var31 = ((int *) var1)[0];
  var32 = ((int *) var31)[44];
  var35 var36 = (*var32) (var1, var3, 0x000100C9);
  sub_0B3B4 (var3);
  ra = ((int *) sp)[16];
  var39 = ((int *) sp)[15];
  var40 = ((int *) sp)[14];
  var41 = ((int *) sp)[13];
  var42 = ((int *) sp)[12];
  sp = sp + 0x00000050;
  return;
}

/**
 * Subroutine at address 0x000146C4
 */
void sub_146C4 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[9] = s1;
  ((int *) sp)[8] = s0;
  var1 = arg1;
  var2 = *((int *) 0x00020E84);
  ((int *) sp)[11] = ra;
  ((int *) sp)[10] = s2;
  var3 = sp + 0x00000010;
  __asm__ ("swc1       $fpr20, 48($sp);"
    : 
    : "=r"(sp));
  var6 = sub_1228C (var2, 0x00000001);
  var9 = scePaf_EAA5AFF6 (var1, 0x0000007A);
  if ((var9 & 0x000000FF) != 0x00000000)
  {
    var29 = *((int *) 0x00020E84);
    var32 = sub_1228C (var29, 0x00000000);
  }
  else
  {
  }
  var10 = ((int *) var1)[0];
  __asm__ ("lwc1       $fpr00, -6824($v1);");
  ((int *) sp)[0] = 0x00000000;
  __asm__ ("lwc1       $fpr20, -6828($v0);"
           "swc1       $fpr00, 12($sp);"
    : 
    : "=r"(sp));
  var11 = sp;
  var12 = ((int *) var10)[49];
  __asm__ ("lwc1       $fpr13, 0($sp);");
  ((int *) sp)[1] = 0x00000000;
  __asm__ ("mov.s      $fpr12, $fpr20;");
  ((int *) sp)[2] = 0x00000000;
  var15 var16 = (*var12) (var1, 0x01000003, 0x00000004, var11, var10);
  __asm__ ("mov.s      $fpr12, $fpr20;");
  scePaf_EF52945B (var1, 0x0000007A, 0x000147BC, 0x00000000);
  sceVshCommonGui_441D55D7 (0x00000000);
  var21 = *((int *) 0x00020E98);
  sceVshCommonGui_54BC644C (var3, var21);
  sub_0B3B4 (var3);
  ra = ((int *) sp)[11];
  var26 = ((int *) sp)[10];
  var27 = ((int *) sp)[9];
  var28 = ((int *) sp)[8];
  __asm__ ("lwc1       $fpr20, 48($sp);");
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x000147BC
 */
void sub_147BC ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  __asm__ ("mtc1       $zr, $fpr12;");
  ((int *) sp)[0] = s0;
  __asm__ ("mov.s      $fpr13, $fpr12;");
  ((int *) sp)[2] = ra;
  var1 = *((int *) 0x00020E84);
  var2 = ((int *) var1)[42];
  if (var2 != 0x00000000)
  {
    sceVshCommonGui_61A1FA3A (var2);
    var20 = *((int *) 0x00020E80);
  }
  else
  {
    var3 = *((int *) 0x00020E80);
  }
  scePaf_3481F595 (var3, "page_info");
  var6 = *((int *) 0x00020E80);
  var9 = scePaf_DAB59652 (var6, "page_optionmenu");
  sub_14D54 (var9);
  var12 = *((int *) 0x00020E84);
  var15 = sub_1228C (var12, 0x00000000);
  ra = ((int *) sp)[2];
  var16 = ((int *) sp)[1];
  var17 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001484C
 */
void sub_1484C (int arg1, int arg2)
{
  var1 = ((arg2 ^ 0x0000FFFF) < 0x00000001);
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  if (!((var1 & (((arg1 ^ 0x00000001) < 0x00000001))) == 0x00000000))
  {
    *((int *) 0x00020E98) = 0x00000000;
    *((int *) 0x00020E9C) = 0x00000000;
  }
  if ((var1 & ((arg1 < 0x00000001))) != 0x00000000)
  {
    sub_0B3B4 (0x00020E98);
    ra = ((int *) sp)[4];
  }
  else
  {
    ra = ((int *) sp)[4];
  }
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000148B4
 */
void sub_148B4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1484C (0x00000001, 0x0000FFFF);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000148D4
 */
void sub_148D4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1484C (0x00000000, 0x0000FFFF);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000148F4
 */
void sub_148F4 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s0;
  scePaf_6829D7AF (arg1, 0x00000000, 0x00000014);
  var3 = sp;
  ((int *) sp)[0] = arg1;
  var6 = IoFileMgrForUser_54F5FB11 ("ms0:", 0x02425818, var3, 0x00000004, 0x00000000, 0x00000000);
  ra = ((int *) sp)[5];
  var7 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00014958
 */
void sub_14958 (int arg1, int arg2)
{
  var1 = 0xFFFFFBDB;
  if (!(arg1 == 0x00000000))
  {
    var2 = ((int *) arg1)[0];
    var1 = 0x00000000;
    var3 = var2 + 0xFFFFFFFE;
    if (!(((var2 < 0x00000002)) == 0x00000000))
    {
      var3 = 0x00000000;
    }
    var4 = ((int *) arg1)[4];
    var5 = ((int *) arg1)[3];
    var6 = (var4 * var5);
    ((int *) arg2)[0] = ((var3 * ((var6 + ((var6 >> 0x0000001F) >> 0x00000019)) >> 0x00000007)) >> 0x00000003);
  }
  return;
}

/**
 * Subroutine at address 0x000149B0
 */
void sub_149B0 (int arg1, int arg2)
{
  var1 = 0xFFFFFBDB;
  if (!(arg1 == 0x00000000))
  {
    var2 = ((int *) arg1)[1];
    var1 = 0x00000000;
    var3 = var2 + 0xFFFFFFFE;
    if (!(((var2 < 0x00000002)) == 0x00000000))
    {
      var3 = 0x00000000;
    }
    var4 = ((int *) arg1)[4];
    var5 = ((int *) arg1)[3];
    var6 = (var4 * var5);
    ((int *) arg2)[0] = ((var3 * ((var6 + ((var6 >> 0x0000001F) >> 0x00000019)) >> 0x00000007)) >> 0x00000003);
  }
  return;
}

/**
 * Subroutine at address 0x00014A08
 */
void sub_14A08 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  ((int *) sp)[0] = s0;
  scePaf_F47CA1C2 (arg1, 0x00080003, 0x00014A8C, 0x00000000);
  var3 = *((int *) 0x00020E84);
  var4 = ((int *) var3)[41];
  if (var4 != 0x00000000)
  {
    var7 = *((int *) 0x00020E80);
    var10 = scePaf_4708AED4 (var7, "mlist_optionmenu");
    if (var10 == 0x00000000)
    {

    label13:
      ra = ((int *) sp)[2];
    }
    else
    {
      var11 = *((int *) 0x00020E84);
      var14 = sub_0CE1C (var11);
      scePaf_A72594EF (var10, var14);
      ra = ((int *) sp)[2];
    }
  }
  else
  goto label13;
  var5 = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014A8C
 */
void sub_14A8C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[1] = ra;
  __asm__ ("mtc1       $zr, $fpr13;");
  ((char *) var1)[103] = 0x00000001;
  var2 = ((int *) var1)[42];
  if (var2 != 0x00000000)
  {
    __asm__ ("lwc1       $fpr12, -6736($v0);");
    sceVshCommonGui_61A1FA3A (var2);
    var1 = *((int *) 0x00020E84);
  }
  var3 = ((int *) var1)[203];
  var4 = ((int *) var3)[7];
  var7 var8 = (*var4) (0x00000006, var1, arg3, arg4, arg5, arg6, arg7, arg8);
  var9 = *((int *) 0x00020E84);
  var12 = sub_0CB1C (var9);
  var13 = var12;
  var14 = *((int *) 0x00020EA4);
  ra = ((int *) sp)[1];
  if (!(var14 == var13))
  {
    var15 = *((int *) 0x00020E84);
    *((int *) 0x00020EA4) = var13;
    var18 = sub_0CE1C (var15);
    sceVshCommonGui_7C7B935B (var18);
    ra = ((int *) sp)[1];
  }
  var21 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014B24
 */
void sub_14B24 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  var1 = ((int *) arg2)[2];
  if (((var1 >> 0x00000008) & 0x00000080) != 0x00000000)
  {

  label15:
    ra = ((int *) sp)[2];
  }
  else
  {
    var2 = *((int *) 0x00020E84);
    var3 = ((int *) var2)[27];
    if (!(var3 <= 0))
      goto label15;
    var6 = ((int *) var2)[40];
    scePaf_49CE42F7 (var6, "snd_cancel");
    var9 = *((int *) 0x00020E84);
    __asm__ ("mtc1       $zr, $fpr13;");
    var10 = ((int *) var9)[42];
    if (var10 != 0x00000000)
    {
      __asm__ ("lwc1       $fpr12, -6732($v0);");
      sceVshCommonGui_01B60A5C (var10);
      var9 = *((int *) 0x00020E84);
    }
    var11 = *((int *) 0x00020E80);
    ((char *) var9)[103] = 0x00000000;
    sceVshCommonGui_607D5C82 (var11, "page_optionmenu", 0x00000000);
    var14 = *((int *) 0x00020E80);
    scePaf_CAF05F1D (var14, "page_topmenu");
    ra = ((int *) sp)[2];
  }
  var4 = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014BD4
 */
void sub_14BD4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[10] = ra;
  ((int *) sp)[9] = s1;
  var1 = arg1;
  ((int *) sp)[8] = s0;
  var2 = ((int *) arg2)[3];
  var3 = *((int *) 0x00020E84);
  var6 = sub_0D260 (var3);
  var7 = *((int *) 0x00020E80);
  var10 = scePaf_BB3CBD19 (var7, (var6 + (((var2 << 0x00000003) + var2) << 0x00000002)), 0xFFFFFFFF);
  var11 = sp;
  ((int *) sp)[0] = 0x00000000;
  ((int *) sp)[1] = 0x00000000;
  sub_0B3E4 (var11, var10);
  var14 = ((int *) var1)[0];
  var15 = ((int *) var14)[44];
  var16 = sp;
  var19 var20 = (*var15) (var1, var16, ((var2 << 0x00000010) | 0x000000C8));
  var21 = sp;
  sub_0B3B4 (var21);
  ra = ((int *) sp)[10];
  var24 = ((int *) sp)[9];
  var25 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00014C74
 */
void sub_14C74 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  var2 = ((int *) var1)[27];
  if (var2 <= 0)
  {
    var8 = sub_0CB1C (var1);
    var9 = ((int *) arg2)[3];
    var10 = *((int *) 0x00020E84);
    var13 = sub_0CEFC (var10, var8, var9);
    var14 = var13;
    if (var13 == 0x00000000)
    {

    label23:
      ra = ((int *) sp)[3];
    }
    else
    {
      var15 = ((int *) var13)[8];
      if (var15 == 0xFFFFFFFF)
        goto label23;
      var16 = ((unsigned char *) var14)[24];
      if (var16 != 0x00000000)
      {
        var30 = *((int *) 0x00020E84);
        var31 = ((int *) var30)[40];
        scePaf_49CE42F7 (var31, "snd_decide");
        var17 = ((int *) var14)[7];
      }
      else
      {
        var17 = ((int *) var14)[7];
      }
      if (var17 == 0x00000001)
      {
        var22 = ((int *) var14)[8];
        if (var22 != 0x00000005)
        {

        label20:
          var18 = ((int *) var14)[8];
          var19 = ((int *) var14)[7];
          sub_07CF0 (var19, var18);
          ra = ((int *) sp)[3];
        }
        else
        {
          var23 = *((int *) 0x00020E84);
          var24 = ((int *) var23)[203];
          var25 = ((int *) var24)[0];
          var28 var29 = (*var25) (0x00000005, "snd_decide");
          ra = ((int *) sp)[3];
        }
      }
      else
      goto label20;
    }
  }
  else
  goto label23;
  var3 = ((int *) sp)[2];
  var4 = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014D54
 */
void sub_14D54 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = s1;
  var1 = arg1;
  var2 = *((int *) 0x00020E84);
  ((int *) sp)[2] = ra;
  var5 = sub_1228C (var2, 0x00000001);
  var6 = *((int *) 0x00020E84);
  ((char *) var6)[104] = 0x00000001;
  var7 = *((int *) 0x00020E80);
  sceVshCommonGui_607D5C82 (var7, "page_optionmenu", 0x00000000);
  var12 = scePaf_EAA5AFF6 (var1, 0x0000007B);
  if ((var12 & 0x000000FF) != 0x00000000)
  {
    var17 = *((int *) 0x00020E84);
    var20 = sub_1228C (var17, 0x00000000);
  }
  else
  {
  }
  __asm__ ("lwc1       $fpr12, -6728($v0);");
  scePaf_EF52945B (var1, 0x0000007B, 0x00014DF8, 0x00000000);
  ra = ((int *) sp)[2];
  var15 = ((int *) sp)[1];
  var16 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014DF8
 */
void sub_14DF8 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  __asm__ ("mtc1       $zr, $fpr12;");
  var1 = *((int *) 0x00020E84);
  ((int *) sp)[1] = ra;
  __asm__ ("mov.s      $fpr13, $fpr12;");
  var2 = ((int *) var1)[42];
  ((char *) var1)[103] = 0x00000000;
  if (var2 != 0x00000000)
  {
    sceVshCommonGui_01B60A5C (var2);
  }
  else
  {
  }
  var3 = *((int *) 0x00020E80);
  scePaf_CAF05F1D (var3, "page_topmenu");
  var6 = *((int *) 0x00020E84);
  ((char *) var6)[104] = 0x00000000;
  var9 = sub_1228C (var6, 0x00000000);
  ra = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014E68
 */
void sub_14E68 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  if (arg1 == 0x00000000)
  {

  label8:
    var11 = 0x00000000;
  }
  else
  {
    var4 = scePaf_C6F44EF9 ();
    var5 = ((int *) var1)[0];
    var6 = ((int *) var5)[0];
    var9 var10 = (*var6) (var1, var4);
    var11 = var1;
    if (!(var9 != 0x00000000))
      goto label8;
  }
  if (!(var11 == 0x00000000))
  {
    scePaf_6B678D44 (var11, 0x00000004);
  }
  ra = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014EC8
 */
void sub_14EC8 ()
{
  var1 = *((int *) 0x00020EB0);
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  scePaf_3481F595 (var1, "page_infobar");
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00014EF0
 */
void sub_14EF0 (int arg1)
{
  sp = sp + 0xFFFFFEE0;
  ((int *) sp)[64] = s0;
  var1 = sp + 0x000000D0;
  ((int *) sp)[66] = s2;
  var2 = arg1;
  ((int *) sp)[65] = s1;
  ((int *) sp)[69] = s5;
  ((int *) sp)[68] = s4;
  ((int *) sp)[67] = s3;
  ((int *) sp)[70] = ra;
  scePaf_D27DE19A (var1);
  var5 = ((unsigned short *) sp)[105];
  var6 = *((unsigned short *) 0x00020EDE);
  if (var5 == var6)
  {
    var37 = *((int *) 0x00020EE0);
    var38 = ((int *) sp)[53];
    if (var38 != var37)
    {

    label16:
      var7 = *((int *) 0x00000004);

    label17:
      if (var7 < 0)
      {

      label31:
      }
      else
      {
        if (((var7 < 0x00000002)) != 0x00000000)
        {
          var36 = *((int *) 0x00000000);
          if (var36 == 0x00000000)
          {
            goto label31;
          }
          else
          {
            if (var36 != 0x00000001)
            {
            }
            else
            {
              goto label31;
            }
          }
        }
        else
        {
          var8 = *((int *) 0x00000000);
          if (!(var7 == 0x00000002))
            goto label31;
          if (var8 == 0x00000000)
          {
            goto label31;
          }
          else
          {
            if (var8 != 0x00000001)
            {
            }
            else
            {
              goto label31;
            }
          }
        }
      }
      var9 = sp;
      scePaf_BAE16A39 (var1, var9, 0x00000064, 0x0001E5F0);
      var12 = sp + 0x000000E0;
      var13 = sp;
      ((int *) sp)[56] = 0x00000000;
      ((int *) sp)[57] = 0x00000000;
      sub_0B3E4 (var12, var13);
      var16 = ((int *) var2)[0];
      var17 = ((int *) var16)[44];
      var20 var21 = (*var17) (var2, var12, 0x00000000);
      sub_0B3B4 (var12);
      var24 = *((int *) 0x00000004);
      var25 = *((int *) 0x00000000);
      var26 = ((int *) sp)[52];
      var27 = ((int *) sp)[53];
      var28 = ((int *) sp)[54];
      var29 = ((int *) sp)[55];
      *((int *) 0x00020EDC) = var26;
      *((int *) 0x00020EE8) = var29;
      *((int *) 0x00020EEC) = var24;
      *((int *) 0x00020EF0) = var25;
      *((int *) 0x00020EE0) = var27;
      *((int *) 0x00020EE4) = var28;
      ra = ((int *) sp)[70];
    }
    else
    {
      var39 = *((unsigned short *) 0x00020EE4);
      var40 = ((unsigned short *) sp)[108];
      if (var40 != var39)
      {
        goto label16;
      }
      else
      {
        var7 = *((int *) 0x00000004);
        var41 = *((int *) 0x00020EEC);
        if (var7 != var41)
        {
          goto label17;
        }
        else
        {
          var42 = *((int *) 0x00000000);
          var43 = *((int *) 0x00020EF0);
          if (var42 != var43)
          {
            goto label16;
          }
          else
          {
            ra = ((int *) sp)[70];
          }
        }
      }
    }
  }
  else
  {
    goto label16;
  }
  var30 = ((int *) sp)[69];
  var31 = ((int *) sp)[68];
  var32 = ((int *) sp)[67];
  var33 = ((int *) sp)[66];
  var34 = ((int *) sp)[65];
  var35 = ((int *) sp)[64];
  sp = sp + 0x00000120;
  return;
}

/**
 * Subroutine at address 0x000150B4
 */
void sub_150B4 (int arg1)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[4] = s0;
  var1 = *((int *) 0x00020ED0);
  __asm__ ("swc1       $fpr22, 40($sp);"
    : 
    : "=r"(sp));
  __asm__ ("swc1       $fpr21, 36($sp);"
    : 
    : "=r"(sp));
  ((int *) sp)[5] = ra;
  __asm__ ("swc1       $fpr23, 44($sp);"
    : 
    : "=r"(sp));
  var2 = (((hi (var1 * 0x88888889)) + var1) >> 0x00000004) - (var1 >> 0x0000001F);
  var3 = sp;
  __asm__ ("swc1       $fpr20, 32($sp);"
           "lwc1       $fpr23, -4544($v0);"
    : 
    : "=r"(sp));
  var4 = var1 - (((var2 << 0x00000004) - var2) << 0x00000001);
  __asm__ ("mtc1       $a1, $fpr0;"
    : 
    : "=r"(var4));
  __asm__ ("lwc1       $fpr20, -4540($v0);"
           "cvt.s.w    $fpr02, $fpr00;"
           "mtc1       $v1, $fpr0;"
    : 
    : "=r"(var2));
  var5 = ((int *) arg1)[0];
  __asm__ ("swc1       $fpr23, 8($sp);"
           "cvt.s.w    $fpr01, $fpr00;"
           "mul.s      $fpr22, $fpr02, $fpr20;"
           "swc1       $fpr20, 12($sp);"
           "mul.s      $fpr21, $fpr01, $fpr23;"
           "swc1       $fpr22, 4($sp);"
           "swc1       $fpr21, 0($sp);"
    : 
    : "=r"(sp));
  var6 = ((int *) var5)[29];
  var9 var10 = (*var6) (arg1, 0x00000017, var3, var5, arg5, arg6, arg7, arg8);
  var11 = *((int *) 0x00020F1C);
  var12 = sp;
  if (var11 != 0x00000000)
  {
    var16 = ((int *) var11)[0];
    __asm__ ("swc1       $fpr21, 0($sp);"
             "swc1       $fpr22, 4($sp);"
             "swc1       $fpr23, 8($sp);"
             "swc1       $fpr20, 12($sp);"
      : 
      : "=r"(sp));
    var17 = ((int *) var16)[29];
    var20 var21 = (*var17) (var11, 0x00000017, var12);
    var13 = *((int *) 0x00020ED0);
  }
  else
  {
    var13 = *((int *) 0x00020ED0);
  }
  var14 = var13 + 0x00000001;
  *((int *) 0x00020ED0) = var14;
  if (!(((var14 < 0x0000003C)) != 0x00000000))
  {
    *((int *) 0x00020ED0) = 0x00000000;
  }
  ra = ((int *) sp)[5];
  var15 = ((int *) sp)[4];
  __asm__ ("lwc1       $fpr23, 44($sp);"
           "lwc1       $fpr22, 40($sp);"
           "lwc1       $fpr21, 36($sp);"
           "lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x000151CC
 */
void sub_151CC ()
{
  sp = sp + 0xFFFFFFD0;
  __asm__ ("swc1       $fpr21, 36($sp);"
    : 
    : "=r"(sp));
  ((int *) sp)[5] = ra;
  var1 = sp;
  __asm__ ("mov.s      $fpr21, $fpr12;");
  ((int *) sp)[4] = s0;
  __asm__ ("swc1       $fpr20, 32($sp);"
    : 
    : "=r"(sp));
  var2 = *((int *) 0x00020F10);
  var3 = ((unsigned char *) var2)[510];
  if (var3 != 0x00000000)
  {
    __asm__ ("lwc1       $fpr20, -4532($v0);");
    __asm__ ("lwc1       $fpr00, -4536($v0);"
             "swc1       $fpr12, 0($sp);"
             "swc1       $fpr00, 4($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[2] = 0x00000000;
    __asm__ ("swc1       $fpr20, 12($sp);"
      : 
      : "=r"(sp));
    scePaf_3A4934E3 (var2, var1, 0x00000000);
    var9 = scePaf_EAA5AFF6 (var2, 0x01000001);
    __asm__ ("lwc1       $fpr00, -4528($v0);");
    var10 = *((int *) 0x00020F14);
    __asm__ ("add.s      $fpr00, $fpr21, $fpr00;");
    var11 = sp;
    __asm__ ("swc1       $fpr00, 0($sp);"
      : 
      : "=r"(sp));
    __asm__ ("lwc1       $fpr00, -4524($v0);"
             "swc1       $fpr20, 12($sp);"
             "swc1       $fpr00, 4($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[2] = 0x00000000;
    scePaf_3A4934E3 (var10, var11, 0x00000000);
    var16 = scePaf_EAA5AFF6 (var10, 0x01000001);
    ra = ((int *) sp)[5];
  }
  else
  {
    ra = ((int *) sp)[5];
  }
  var4 = ((int *) sp)[4];
  __asm__ ("lwc1       $fpr21, 36($sp);"
           "lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x000152A0
 */
void sub_152A0 ()
{
  sp = sp + 0xFFFFFFD0;
  __asm__ ("swc1       $fpr21, 36($sp);"
    : 
    : "=r"(sp));
  var1 = sp;
  ((int *) sp)[5] = ra;
  __asm__ ("mov.s      $fpr21, $fpr12;");
  ((int *) sp)[4] = s0;
  __asm__ ("swc1       $fpr20, 32($sp);"
    : 
    : "=r"(sp));
  var2 = *((int *) 0x00020F08);
  var3 = ((unsigned char *) var2)[510];
  if (!(var3 == 0x00000000))
  {
    __asm__ ("lwc1       $fpr20, -4516($v0);");
    __asm__ ("lwc1       $fpr00, -4520($v0);"
             "swc1       $fpr12, 0($sp);"
             "swc1       $fpr00, 4($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[2] = 0x00000000;
    __asm__ ("swc1       $fpr20, 12($sp);"
      : 
      : "=r"(sp));
    scePaf_3A4934E3 (var2, var1, 0x00000000);
    var8 = scePaf_EAA5AFF6 (var2, 0x01000001);
    __asm__ ("lwc1       $fpr00, -4512($v0);");
    var9 = *((int *) 0x00020F0C);
    __asm__ ("add.s      $fpr00, $fpr21, $fpr00;");
    var10 = sp;
    __asm__ ("swc1       $fpr00, 0($sp);"
      : 
      : "=r"(sp));
    __asm__ ("lwc1       $fpr00, -4508($v0);"
             "swc1       $fpr20, 12($sp);"
             "swc1       $fpr00, 4($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[2] = 0x00000000;
    scePaf_3A4934E3 (var9, var10, 0x00000000);
    var15 = scePaf_EAA5AFF6 (var9, 0x01000001);
    __asm__ ("lwc1       $fpr12, -4504($v1);"
             "sub.s      $fpr12, $fpr21, $fpr12;");
  }
  sub_151CC ();
  ra = ((int *) sp)[5];
  var18 = ((int *) sp)[4];
  __asm__ ("lwc1       $fpr21, 36($sp);"
           "lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00015380
 */
void sub_15380 ()
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s1;
  var1 = sp;
  ((int *) sp)[4] = s0;
  __asm__ ("swc1       $fpr20, 32($sp);"
           "mov.s      $fpr20, $fpr12;"
           "lwc1       $fpr00, -4500($v0);"
    : 
    : "=r"(sp));
  var2 = *((int *) 0x00020F04);
  __asm__ ("swc1       $fpr00, 4($sp);"
    : 
    : "=r"(sp));
  __asm__ ("lwc1       $fpr00, -4496($v0);"
           "swc1       $fpr12, 0($sp);"
           "swc1       $fpr00, 12($sp);"
    : 
    : "=r"(sp));
  ((int *) sp)[2] = 0x00000000;
  scePaf_3A4934E3 (var2, var1, 0x00000000);
  var7 = scePaf_EAA5AFF6 (var2, 0x01000001);
  var8 = *((int *) 0x00020F04);
  var9 = ((int *) var8)[0];
  var10 = ((int *) var9)[37];
  var11 = sp;
  var14 var15 = (*var10) (var8, 0x00000012, var11);
  __asm__ ("lwc1       $fpr00, 0($sp);");
  __asm__ ("sub.s      $fpr20, $fpr20, $fpr00;"
           "lwc1       $fpr00, -4492($v0);"
           "sub.s      $fpr20, $fpr20, $fpr00;");
  __asm__ ("mov.s      $fpr12, $fpr20;");
  sub_152A0 ();
  ra = ((int *) sp)[6];
  var18 = ((int *) sp)[5];
  var19 = ((int *) sp)[4];
  __asm__ ("lwc1       $fpr20, 32($sp);");
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0001542C
 */
void sub_1542C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = *((int *) 0x00020EFC);
  var2 = ((unsigned char *) var1)[510];
  if (var2 == 0x00000000)
  {
    __asm__ ("lwc1       $fpr12, -4484($v0);");
  }
  else
  {
    __asm__ ("lwc1       $fpr12, -4488($v0);");
  }
  sub_15380 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001546C
 */
void sub_1546C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1542C ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00015488
 */
void sub_15488 ()
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[14] = s2;
  ((int *) sp)[15] = ra;
  ((int *) sp)[13] = s1;
  ((int *) sp)[12] = s0;
  __asm__ ("swc1       $fpr22, 72($sp);"
           "swc1       $fpr21, 68($sp);"
    : 
    : "=r"(sp));
  __asm__ ("swc1       $fpr20, 64($sp);"
    : 
    : "=r"(sp));
  var3 = scePower_0AFD0D8B ();
  var4 = var3;
  if (var3 < 0)
  {

  label46:
    ra = ((int *) sp)[15];
  }
  else
  {
    var5 = *((int *) 0x00020ED8);
    if (!(var4 == var5))
    {
      *((int *) 0x00020ED8) = var4;
      if (var4 == 0x00000000)
      {
        var62 = *((int *) 0x00020EB0);
        var63 = *((int *) 0x00020EFC);
        scePaf_6F33D1DF (var62, var63);
        var66 = *((int *) 0x00020EFC);
        *((int *) 0x00020ED4) = 0x00000000;
        ((char *) var66)[510] = 0x00000000;
        ((char *) var66)[511] = 0x00000000;
        scePaf_86B41BA3 (var66);
        var69 = *((int *) 0x00020F00);
        ((char *) var69)[510] = 0x00000000;
        ((char *) var69)[511] = 0x00000000;
      }
      else
      {
        var6 = *((int *) 0x00020EB0);
        var7 = *((int *) 0x00020EFC);
        scePaf_6F33D1DF (var6, var7);
        var10 = *((int *) 0x00020EFC);
        *((int *) 0x00020ED4) = 0x00000000;
        ((char *) var10)[510] = 0x00000001;
        ((char *) var10)[511] = 0x00000001;
        scePaf_86B41BA3 (var10);
        var13 = *((int *) 0x00020F00);
        ((char *) var13)[511] = 0x00000001;
        ((char *) var13)[510] = 0x00000001;
      }
      scePaf_86B41BA3 (var13);
      sub_1542C ();
    }
    if (!(var4 != 0x00000000))
      goto label46;
    var23 = scePower_1E490401 ();
    var24 = var23;
    if (var23 < 0)
      goto label46;
    var25 = *((int *) 0x00020ED4);
    if (!(var24 == var25))
    {
      *((int *) 0x00020ED4) = var24;
      if (var24 == 0x00000000)
      {
        var60 = *((int *) 0x00020EB0);
        var61 = *((int *) 0x00020EFC);
      }
      else
      {
        var26 = *((int *) 0x00020EB0);
        var27 = *((int *) 0x00020EFC);
      }
      scePaf_63B24F4D (var26, var27, "anim_battery_charging");
    }
    var32 = scePower_2085D15D ();
    if (var32 < 0)
      goto label46;
    var33 = *((int *) 0x0001E65C);
    var34 = *((int *) 0x0001E668);
    var35 = *((int *) 0x0001E66C);
    var36 = *((int *) 0x0001E678);
    var37 = *((int *) 0x0001E660);
    var38 = *((int *) 0x0001E664);
    var39 = *((int *) 0x0001E670);
    var40 = *((int *) 0x0001E674);
    var41 = *((int *) 0x00020ED4);
    ((int *) sp)[0] = var33;
    var42 = sp;
    ((int *) sp)[1] = var37;
    ((int *) sp)[2] = var38;
    ((int *) sp)[3] = var34;
    ((int *) sp)[4] = var35;
    ((int *) sp)[5] = var39;
    ((int *) sp)[6] = var40;
    ((int *) sp)[7] = var36;
    if (!(var41 != 0x00000000))
    {
      var42 = sp + 0x00000010;
    }
    var43 = 0x00000000;
    var44 = ((int *) var42)[0];
    while (1) {
      var42 = var42 + 0x00000004;
      if (((var32 < var44)) == 0x00000000)
        break;
      var43 = var43 + 0x00000001;
      if (((var43 < 0x00000004)) != 0x00000000)
      {
        var44 = ((int *) var42)[0];
        continue;
      }
      else
      {
        ra = ((int *) sp)[15];
      }
      goto label47;
    }
    __asm__ ("mtc1       $a0, $fpr0;"
      : 
      : "=r"(var43));
    __asm__ ("lwc1       $fpr21, -4480($v0);"
             "cvt.s.w    $fpr20, $fpr00;");
    var45 = *((int *) 0x00020EFC);
    __asm__ ("mul.s      $fpr20, $fpr20, $fpr21;"
             "lwc1       $fpr22, -4476($v0);");
    var46 = ((int *) var45)[0];
    ((int *) sp)[8] = 0x00000000;
    var47 = sp + 0x00000020;
    __asm__ ("swc1       $fpr20, 36($sp);"
             "swc1       $fpr22, 40($sp);"
             "swc1       $fpr21, 44($sp);"
      : 
      : "=r"(sp));
    var48 = ((int *) var46)[29];
    var51 var52 = (*var48) (var45, 0x00000017, var47, var33, var34, var35, var36, var41);
    var53 = *((int *) 0x00020F00);
    __asm__ ("swc1       $fpr20, 36($sp);"
      : 
      : "=r"(sp));
    var54 = ((int *) var53)[0];
    __asm__ ("swc1       $fpr22, 40($sp);"
             "swc1       $fpr21, 44($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[8] = 0x00000000;
    var55 = ((int *) var54)[29];
    var58 var59 = (*var55) (var53, 0x00000017, var47);
    ra = ((int *) sp)[15];
  }

label47:
  var18 = ((int *) sp)[14];
  var19 = ((int *) sp)[13];
  var20 = ((int *) sp)[12];
  __asm__ ("lwc1       $fpr22, 72($sp);"
           "lwc1       $fpr21, 68($sp);"
           "lwc1       $fpr20, 64($sp);");
  sp = sp + 0x00000050;
  return;
}

/**
 * Subroutine at address 0x0001571C
 */
void sub_1571C ()
{
  sp = sp + 0xFFFFFFE0;
  var1 = sp;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s0;
  sceCtrl_3A622550 (var1, 0x00000001);
  var4 = ((int *) sp)[1];
  var5 = *((int *) 0x00020EF4);
  var6 = (var4 >> 0x00000011) & 0x00000001;
  if (!(var6 == var5))
  {
    *((int *) 0x00020EF4) = var6;
    if (var6 == 0x00000000)
    {
      var16 = *((int *) 0x00020F10);
      ((char *) var16)[510] = 0x00000000;
      ((char *) var16)[511] = 0x00000000;
      scePaf_86B41BA3 (var16);
      var19 = *((int *) 0x00020F14);
      ((char *) var19)[510] = 0x00000000;
      ((char *) var19)[511] = 0x00000000;
    }
    else
    {
      var7 = *((int *) 0x00020F10);
      ((char *) var7)[510] = 0x00000001;
      ((char *) var7)[511] = 0x00000001;
      scePaf_86B41BA3 (var7);
      var10 = *((int *) 0x00020F14);
      ((char *) var10)[511] = 0x00000001;
      ((char *) var10)[510] = 0x00000001;
    }
    scePaf_86B41BA3 (var10);
    sub_1542C ();
  }
  ra = ((int *) sp)[5];
  var15 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000157D4
 */
void sub_157D4 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = ra;
  var1 = sp;
  scePaf_D27DE19A (var1);
  var4 = ((unsigned short *) sp)[1];
  ra = ((int *) sp)[4];
  *((int *) 0x00020EC0) = var4;
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000157FC
 */
void sub_157FC (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[15] = s3;
  ((int *) sp)[14] = s2;
  var1 = arg2;
  ((int *) sp)[16] = ra;
  ((int *) sp)[13] = s1;
  ((int *) sp)[12] = s0;
  var2 = ((int *) arg1)[1];
  var3 = ((int *) arg1)[0];
  var4 = *((int *) 0x00020EBC);
  var5 = *((int *) 0x00020EB8);
  *((int *) 0x00020EB8) = var3;
  *((int *) 0x00020EBC) = var2;
  ((int *) sp)[0] = var3;
  ((int *) sp)[1] = var2;
  ((int *) sp)[4] = var5;
  ((int *) sp)[5] = var4;
  if (var3 != 0x00000000)
  {
    if (var5 == 0x00000001)
    {

    label12:
      if (!(var1 == 0x00000000))
      {
        var10 var11 = (*var1) (0x00000000, arg3);
      }
      var12 = ((int *) sp)[4];
    }
    else
    {
      sub_1610C (arg2, arg3);
      var12 = ((int *) sp)[4];
    }
  }
  else
  {
    if (var5 != 0x00000000)
    {

    label10:
      sub_158C0 ();
    }
    else
    {
      if (!(var2 == var4))
        goto label10;
    }
    goto label12;
  }
  var13 = ((int *) sp)[5];
  ra = ((int *) sp)[16];
  var14 = ((int *) sp)[15];
  var15 = ((int *) sp)[14];
  var16 = ((int *) sp)[13];
  var17 = ((int *) sp)[12];
  sp = sp + 0x00000050;
  return;
}

/**
 * Subroutine at address 0x000158C0
 */
void sub_158C0 ()
{
  sp = sp + 0xFFFFFE70;
  ((int *) sp)[89] = s1;
  ((int *) sp)[95] = ra;
  ((int *) sp)[94] = s6;
  ((int *) sp)[93] = s5;
  ((int *) sp)[90] = s2;
  var1 = sp + 0x00000020;
  ((int *) sp)[88] = s0;
  __asm__ ("swc1       $fpr21, 388($sp);"
           "swc1       $fpr20, 384($sp);"
    : 
    : "=r"(sp));
  *((int *) 0x00020EB8) = 0x00000000;
  ((int *) sp)[92] = s4;
  ((int *) sp)[91] = s3;
  sub_157D4 ();
  var6 = scePaf_962FA087 ();
  scePaf_D24E4016 (var6, 0x00000006, 0x00000009);
  __asm__ ("lwc1       $fpr20, -4472($v1);");
  var9 = sp + 0x00000008;
  var10 = sp + 0x00000004;
  var11 = sp;
  __asm__ ("swc1       $fpr20, 0($sp);"
           "swc1       $fpr20, 4($sp);"
           "swc1       $fpr20, 8($sp);"
    : 
    : "=r"(sp));
  __asm__ ("swc1       $fpr20, 12($sp);"
    : 
    : "=r"(sp));
  sub_163D4 (var11, var10, var9, 0x00000000);
  var14 = sp;
  scePaf_D4C6CC7A (var14);
  var17 = *((int *) 0x00020EAC);
  scePaf_3481F595 (var17, "page_wallpaper_theme");
  var20 = *((int *) 0x00020EAC);
  scePaf_F609FA81 (var20, "page_default_theme", 0x00000000, 0x00000000);
  var23 = *((int *) 0x00020EAC);
  scePaf_F609FA81 (var23, 0x0001E6B0, 0x00000000, 0x00000000);
  var26 = *((int *) 0x00020EAC);
  var29 = scePaf_DAB59652 (var26, 0x0001E6B0);
  var32 = scePaf_79C3CBF7 (var29, 0x00000000);
  var33 = var32;
  __asm__ ("lwc1       $fpr21, -4468($v0);");
  var34 = sp + 0x00000010;
  __asm__ ("swc1       $fpr20, 28($sp);"
    : 
    : "=r"(sp));
  ((int *) sp)[4] = 0x00000000;
  ((int *) sp)[5] = 0x00000000;
  __asm__ ("swc1       $fpr21, 24($sp);"
    : 
    : "=r"(sp));
  scePaf_3A4934E3 (var33, var34, 0x00000000);
  var39 = scePaf_EAA5AFF6 (var33, 0x01000001);
  var40 = 0x000001E0;
  __asm__ ("mtc1       $v0, $fpr0;"
    : 
    : "=r"(0x000001E0));
  var41 = 0x00000110;
  __asm__ ("mtc1       $v0, $fpr1;"
           "cvt.s.w    $fpr12, $fpr00;"
           "mov.s      $fpr14, $fpr21;"
           "cvt.s.w    $fpr13, $fpr01;"
    : 
    : "=r"(0x00000110));
  scePaf_4FF65BDC (var33);
  var44 = *((int *) 0x00020EC0);
  var45 = *((int *) 0x00020EBC);
  var46 = (var44 + var45) + 0xFFFFFFFF;
  var47 = ((hi (var46 * 0x2AAAAAAB)) >> 0x00000001) - (var46 >> 0x0000001F);
  scePaf_809A4F83 (var1, 0x00000100, "flash0:/vsh/resource/%02d.bmp", ((var46 - (((var47 << 0x00000001) + var47) << 0x00000002)) + 0x00000001));
  var52 = scePaf_8FE88010 (var1, 0x00000000, 0x00000000, 0x00000000, 0x00000000);
  var53 = var52;
  if (var52 == 0x00000000)
  {
    scePaf_C9831AFF ("cannot decode monthly wallpaper file.\n");
    ra = ((int *) sp)[95];
  }
  else
  {
    var54 = sp + 0x00000120;
    sub_13700 (var54, 0x00000000);
    var57 = ((int *) var53)[11];
    var58 = var53 + 0x0000002C;
    ((int *) sp)[80] = var57;
    var59 = ((int *) var58)[1];
    ((int *) sp)[76] = var57;
    ((int *) sp)[77] = var59;
    ((int *) sp)[81] = var59;
    var62 var63 = scePaf_3D451DE8 (var53, 0x00000001);
    ((int *) sp)[85] = var63;
    var64 = ((unsigned short *) var58)[36];
    ((int *) sp)[84] = var62;
    var67 = scePaf_B7E6052B (0x00000078);
    var68 = var67;
    var69 = *((int *) 0x00020EAC);
    var70 = ((int *) var58)[14];
    var71 = ((int *) sp)[76];
    var72 = ((int *) sp)[77];
    var73 = ((int *) var69)[110];
    scePaf_FB3A9617 (var68, var73, var71, var72, var70, 0x00000002, 0x00000000, 0x00000001);
    sub_138B4 (var54, var68);
    var78 = ((int *) sp)[72];
    var79 = ((int *) sp)[76];
    var80 = ((int *) var58)[15];
    var83 = scePaf_08DD2D50 (var78, var79);
    if (var64 == 0x00000000)
    {
      __asm__ ("break      0x00007;");
    }
    var84 = ((int *) sp)[84];
    scePaf_846E1F0A (var78, 0x00000000, var84, var80, ((((var83 + var64) + 0xFFFFFFFF) / var64) * var64));
    var87 = *((int *) 0x00020EAC);
    var90 = scePaf_4708AED4 (var87, "default_theme_plane");
    var91 = ((int *) var90)[0];
    var92 = ((int *) var91)[42];
    var95 var96 = (*var92) (var90, var54, 0x00000000);
    scePaf_21A183A7 (var53);
    scePaf_4E67BB08 (var53);
    var101 = ((int *) sp)[72];
    ra = ((int *) sp)[95];
    if (!(var101 == 0x00000000))
    {
      var102 = ((int *) var101)[1];
      var103 = var102 + 0xFFFFFFFF;
      ((int *) var101)[1] = var103;
      if (var103 <= 0)
      {
        var111 = ((int *) var101)[0];
        var112 = ((int *) var111)[1];
        var115 var116 = (*var112) (var101);
        ra = ((int *) sp)[95];
      }
      else
      {
        ra = ((int *) sp)[95];
      }
    }
  }
  var104 = ((int *) sp)[94];
  var105 = ((int *) sp)[93];
  var106 = ((int *) sp)[92];
  var107 = ((int *) sp)[91];
  var108 = ((int *) sp)[90];
  var109 = ((int *) sp)[89];
  var110 = ((int *) sp)[88];
  __asm__ ("lwc1       $fpr21, 388($sp);"
           "lwc1       $fpr20, 384($sp);");
  sp = sp + 0x00000190;
  return;
}

/**
 * Subroutine at address 0x00015C00
 */
void sub_15C00 (int arg1)
{
  sp = sp + 0xFFFFFFA0;
  ((int *) sp)[21] = s1;
  ((int *) sp)[22] = ra;
  ((int *) sp)[20] = s0;
  var1 = ((unsigned char *) arg1)[0];
  var2 = arg1;
  if (var1 != 0x00000000)
  {
    var35 = scePaf_8FE88010 ("flash1:/vsh/theme/wallpaper.bmp", 0x00000000, 0x00000000, 0x00000000, 0x00000000);
    ((int *) var2)[1] = var35;
  }
  var3 = ((int *) var2)[1];
  if (var3 == 0x00000000)
  {
    scePaf_C9831AFF ("cannot decode wallpaper file.\n", arg2, arg3, arg4);
  }
  else
  {
    var4 = ((int *) var3)[11];
    ((int *) sp)[4] = var4;
    __asm__ ("mtc1       $a3, $fpr0;"
      : 
      : "=r"(var4));
    var5 = ((int *) var3)[12];
    __asm__ ("cvt.s.w    $fpr02, $fpr00;");
    ((int *) sp)[0] = var4;
    __asm__ ("mtc1       $v1, $fpr0;"
      : 
      : "=r"(var5));
    ((int *) sp)[5] = var5;
    __asm__ ("cvt.s.w    $fpr01, $fpr00;"
             "lwc1       $fpr00, -4464($v0);");
    __asm__ ("div.s      $fpr02, $fpr02, $fpr00;"
             "lwc1       $fpr00, -4460($v0);"
             "div.s      $fpr01, $fpr01, $fpr00;"
             "c.lt.s     $fpr01, $fpr02;");
    __asm__ ("bc1f       0x00015D78;");
    ((int *) sp)[1] = var5;
    {
      if (((var5 < 0x00000110)) != 0x00000000)
      {
        ((int *) sp)[4] = var4;

      label19:
        var29 = sp + 0x00000010;
        ((int *) sp)[5] = var5;
      }
      else
      {
        if (var5 == 0x00000000)
        {
          __asm__ ("break      0x00007;");
        }
        var30 = sp + 0x00000010;
        ((int *) sp)[5] = 0x00000110;
        ((int *) sp)[4] = ((((var4 << 0x00000004) + var4) << 0x00000004) / var5);
      }
    }
    else
    {
      if (((var4 < 0x000001E0)) != 0x00000000)
      {
        ((int *) sp)[4] = var4;
        goto label19;
      }
      else
      {
        var6 = sp + 0x00000010;
        if (var4 == 0x00000000)
        {
          __asm__ ("break      0x00007;");
        }
        ((int *) sp)[4] = 0x000001E0;
        ((int *) sp)[5] = ((((var5 << 0x00000004) - var5) << 0x00000005) / var4);
      }
    }
    scePaf_12C50A9D (var3, var6, 0x00000000);
    var11 var12 = scePaf_3D451DE8 (var3, 0x00000001);
    var13 = ((unsigned char *) var2)[0];
    ((int *) sp)[8] = var11;
    ((int *) sp)[9] = var12;
    if (var13 == 0x00000000)
    {
      sub_194D4 ("flash1:/vsh/theme/wallpaper.bmp", var3);
      var14 = ((unsigned char *) var2)[1];
    }
    else
    {
      var14 = ((unsigned char *) var2)[1];
    }
    if (var14 != 0x00000000)
    {
      var17 = sp + 0x00000030;
      sceVshCommonUtil_2ACAD845 (var17, "/CONFIG/SYSTEM/XMB");
      var22 = sceVshCommonUtil_28B6AD3B (var17, "theme_type", 0x00000001);
      if (var22 != 0x00000000)
      {
        scePaf_C9831AFF ("registry_access returned %d\n", var22);
      }
      sceVshCommonUtil_98E57F6D (var17);
    }
    else
    {
    }
  }
  ra = ((int *) sp)[22];
  var15 = ((int *) sp)[21];
  var16 = ((int *) sp)[20];
  sp = sp + 0x00000060;
  return;
}

/**
 * Subroutine at address 0x00015DF4
 */
void sub_15DF4 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFF70;
  ((int *) sp)[30] = s6;
  var1 = sp;
  var2 = arg4;
  ((int *) sp)[28] = s4;
  var3 = arg2;
  ((int *) sp)[31] = ra;
  ((int *) sp)[29] = s5;
  ((int *) sp)[27] = s3;
  ((int *) sp)[26] = s2;
  ((int *) sp)[25] = s1;
  ((int *) sp)[24] = s0;
  __asm__ ("swc1       $fpr21, 132($sp);"
           "swc1       $fpr20, 128($sp);"
    : 
    : "=r"(sp));
  var4 = ((int *) var3)[1];
  sub_13700 (var1, 0x00000000);
  if (var2 != 0x00000000)
  {
    var122 = sp;
    __asm__ ("mtc1       $zr, $fpr20;");
    sub_138B4 (var122, 0x00000000);
    __asm__ ("mov.s      $fpr21, $fpr20;");
  }
  else
  {
    var7 = ((int *) var4)[11];
    var8 = var4 + 0x0000002C;
    ((int *) sp)[8] = var7;
    var9 = ((int *) var8)[1];
    ((int *) sp)[4] = var7;
    ((int *) sp)[5] = var9;
    ((int *) sp)[9] = var9;
    var12 var13 = scePaf_3D451DE8 (var4, 0x00000001);
    ((int *) sp)[13] = var13;
    var14 = ((unsigned short *) var8)[36];
    ((int *) sp)[12] = var12;
    var17 = scePaf_B7E6052B (0x00000078);
    var18 = var17;
    var19 = *((int *) 0x00020EAC);
    var20 = ((int *) var8)[14];
    var21 = ((int *) sp)[4];
    var22 = ((int *) sp)[5];
    var23 = ((int *) var19)[110];
    scePaf_FB3A9617 (var18, var23, var21, var22, var20, 0x00000001, 0x00000000, 0x00000001);
    var26 = sp;
    sub_138B4 (var26, var18);
    var29 = ((int *) sp)[0];
    var30 = ((int *) sp)[4];
    var31 = ((int *) var8)[15];
    var34 = scePaf_08DD2D50 (var29, var30);
    if (var14 == 0x00000000)
    {
      __asm__ ("break      0x00007;");
    }
    var35 = ((int *) sp)[12];
    scePaf_846E1F0A (var29, 0x00000000, var35, var31, ((((var34 + var14) + 0xFFFFFFFF) / var14) * var14));
    __asm__ ("lwc1       $fpr00, 16($sp);"
             "lwc1       $fpr01, 20($sp);"
             "cvt.s.w    $fpr21, $fpr00;"
             "cvt.s.w    $fpr20, $fpr01;");
  }
  var38 = *((int *) 0x00020EAC);
  scePaf_3481F595 (var38, "page_default_theme_3D");
  var41 = *((int *) 0x00020EAC);
  scePaf_3481F595 (var41, "page_default_theme");
  var44 = *((int *) 0x00020EAC);
  scePaf_F609FA81 (var44, "page_wallpaper_theme", 0x00000000, 0x00000000);
  var47 = *((int *) 0x00020EAC);
  var50 = scePaf_4708AED4 (var47, "wallpaper_theme_plane");
  var51 = var50;
  if (var50 == 0x00000000)
  {

  label55:
    var72 = ((int *) var3)[2];
  }
  else
  {
    var52 = ((int *) sp)[0];
    if (var52 == 0x00000000)
    {
      ((char *) var51)[510] = 0x00000000;
      var102 = sp + 0x00000050;
      ((char *) var51)[511] = 0x00000000;
      scePaf_86B41BA3 (var51);
      sub_13700 (var102, 0x00000000);
      var107 = ((int *) var51)[0];
      var108 = ((int *) var107)[42];
      var111 var112 = (*var108) (var51, var102, 0x00000000);
      var113 = ((int *) sp)[20];
      if (var113 == 0x00000000)
      {
        var72 = ((int *) var3)[2];
      }
      else
      {
        var114 = ((int *) var113)[1];
        var115 = var114 + 0xFFFFFFFF;
        ((int *) var113)[1] = var115;
        if (var115 > 0)
          goto label55;
        var116 = ((int *) var113)[0];
        var117 = ((int *) var116)[1];
        var120 var121 = (*var117) (var113);
        var72 = ((int *) var3)[2];
      }
    }
    else
    {
      ((char *) var51)[511] = 0x00000001;
      ((char *) var51)[510] = 0x00000001;
      scePaf_86B41BA3 (var51);
      __asm__ ("lwc1       $fpr00, -4456($v0);");
      var55 = ((int *) var51)[0];
      __asm__ ("swc1       $fpr21, 64($sp);"
        : 
        : "=r"(sp));
      var56 = sp + 0x00000040;
      __asm__ ("swc1       $fpr00, 76($sp);"
               "swc1       $fpr00, 72($sp);"
        : 
        : "=r"(sp));
      var57 = ((int *) var55)[22];
      __asm__ ("swc1       $fpr20, 68($sp);"
        : 
        : "=r"(sp));
      var60 var61 = (*var57) (var51, var56);
      var64 = scePaf_EAA5AFF6 (var51, 0x01000004);
      var65 = ((int *) var51)[0];
      var66 = sp;
      var67 = ((int *) var65)[42];
      var70 var71 = (*var67) (var51, var66, 0x00000000);
      goto label55;
    }
  }
  if (var72 != 0x00000000)
  {
    var97 = ((int *) var3)[3];
    var100 var101 = (*var72) (var2, var97);
    var73 = ((unsigned char *) var3)[0];
  }
  else
  {
    var73 = ((unsigned char *) var3)[0];
  }
  if (!(var73 == 0x00000000))
  {
    var74 = ((int *) var3)[1];
    if (var74 != 0x00000000)
    {
      scePaf_21A183A7 (var74);
      scePaf_4E67BB08 (var74);
    }
  }
  scePaf_4E67BB08 (var3);
  var77 = ((int *) sp)[0];
  ra = ((int *) sp)[31];
  if (!(var77 == 0x00000000))
  {
    var78 = ((int *) var77)[1];
    var79 = var78 + 0xFFFFFFFF;
    ((int *) var77)[1] = var79;
    if (var79 <= 0)
    {
      var87 = ((int *) var77)[0];
      var88 = ((int *) var87)[1];
      var91 var92 = (*var88) (var77);
      ra = ((int *) sp)[31];
    }
    else
    {
      ra = ((int *) sp)[31];
    }
  }
  var80 = ((int *) sp)[30];
  var81 = ((int *) sp)[29];
  var82 = ((int *) sp)[28];
  var83 = ((int *) sp)[27];
  var84 = ((int *) sp)[26];
  var85 = ((int *) sp)[25];
  var86 = ((int *) sp)[24];
  __asm__ ("lwc1       $fpr21, 132($sp);"
           "lwc1       $fpr20, 128($sp);");
  sp = sp + 0x00000090;
  return;
}

/**
 * Subroutine at address 0x0001610C
 */
void sub_1610C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  ((int *) sp)[7] = ra;
  ((int *) sp)[6] = s2;
  ((int *) sp)[5] = s1;
  *((int *) 0x00020EB8) = 0x00000001;
  sub_157D4 ();
  var5 = scePaf_962FA087 ();
  scePaf_D24E4016 (var5, 0x00000006, 0x00000003);
  __asm__ ("lwc1       $fpr00, -4452($v1);");
  var8 = sp + 0x00000008;
  var9 = sp + 0x00000004;
  var10 = sp;
  __asm__ ("swc1       $fpr00, 12($sp);"
           "swc1       $fpr00, 0($sp);"
           "swc1       $fpr00, 4($sp);"
    : 
    : "=r"(sp));
  __asm__ ("swc1       $fpr00, 8($sp);"
    : 
    : "=r"(sp));
  sub_163D4 (var10, var9, var8, 0x00000000);
  var13 = sp;
  scePaf_D4C6CC7A (var13);
  var16 = *((int *) 0x00020EAC);
  scePaf_3481F595 (var16, "page_wallpaper_theme");
  var21 = scePaf_B7E6052B (0x00000010);
  ((char *) var21)[0] = 0x00000001;
  ((int *) var21)[2] = arg1;
  ((int *) var21)[3] = arg2;
  ((char *) var21)[1] = 0x00000000;
  ((int *) var21)[1] = 0x00000000;
  var24 = scePaf_A0ED77C4 (0x00000000, 0x00015C00, var21, 0xFFFFFFFF, 0xFFFFFFFF, 0x00015DF4);
  ra = ((int *) sp)[7];
  var25 = ((int *) sp)[6];
  var26 = ((int *) sp)[5];
  var27 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000161F0
 */
void sub_161F0 (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[4] = s0;
  ((int *) sp)[8] = ra;
  ((int *) sp)[7] = s3;
  ((int *) sp)[6] = s2;
  ((int *) sp)[5] = s1;
  *((int *) 0x00020EB8) = 0x00000001;
  sub_157D4 ();
  var5 = scePaf_962FA087 ();
  scePaf_D24E4016 (var5, 0x00000006, 0x00000003);
  __asm__ ("lwc1       $fpr00, -4448($v1);");
  var8 = sp + 0x00000008;
  var9 = sp + 0x00000004;
  var10 = sp;
  __asm__ ("swc1       $fpr00, 12($sp);"
           "swc1       $fpr00, 0($sp);"
           "swc1       $fpr00, 4($sp);"
    : 
    : "=r"(sp));
  __asm__ ("swc1       $fpr00, 8($sp);"
    : 
    : "=r"(sp));
  sub_163D4 (var10, var9, var8, 0x00000000);
  var13 = sp;
  scePaf_D4C6CC7A (var13);
  var16 = *((int *) 0x00020EAC);
  scePaf_3481F595 (var16, "page_wallpaper_theme");
  var21 = scePaf_B7E6052B (0x00000010);
  ((char *) var21)[1] = 0x00000001;
  ((int *) var21)[1] = arg1;
  ((int *) var21)[2] = arg2;
  ((int *) var21)[3] = arg3;
  ((char *) var21)[0] = 0x00000000;
  var24 = scePaf_A0ED77C4 (0x00000000, 0x00015C00, var21, 0xFFFFFFFF, 0xFFFFFFFF, 0x00015DF4);
  ra = ((int *) sp)[8];
  var25 = ((int *) sp)[7];
  var26 = ((int *) sp)[6];
  var27 = ((int *) sp)[5];
  var28 = ((int *) sp)[4];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x000162E0
 */
void sub_162E0 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFF60;
  var1 = 0x0001E7E8;
  var2 = arg1;
  var3 = arg2;
  var4 = sp;
  while (1) {
    var5 = ((int *) var1)[0];
    var6 = ((int *) var1)[1];
    var7 = ((int *) var1)[2];
    var8 = ((int *) var1)[3];
    ((int *) var4)[0] = var5;
    var1 = var1 + 0x00000010;
    var4 = var4 + 0x00000010;
    ((int *) var4)[1073741821] = var6;
    ((int *) var4)[1073741822] = var7;
    ((int *) var4)[1073741823] = var8;
    if (var1 != 0x0001E878)
      continue;
    break;
  }
  var9 = ((int *) var1)[0];
  var10 = ((int *) var1)[1];
  var11 = ((int *) var1)[2];
  ((int *) var4)[0] = var9;
  ((int *) var4)[1] = var10;
  ((int *) var4)[2] = var11;
  var12 = arg4 + 0xFFFFFFFF;
  if (!(arg4 != 0x00000000))
  {
    var13 = *((int *) 0x00020EB4);
    var14 = 0x0000000D;
    if (!(var13 != 0x00000000))
    {
      var15 = *((int *) 0x00020EC0);
      var16 = *((int *) 0x00020EBC);
      var17 = (var15 + var16) + 0xFFFFFFFF;
      var18 = ((hi (var17 * 0x2AAAAAAB)) >> 0x00000001) - (var17 >> 0x0000001F);
      var14 = (var17 - (((var18 << 0x00000001) + var18) << 0x00000002)) + 0x00000001;
    }
    var12 = var14 + 0xFFFFFFFF;
  }
  var19 = (((var12 << 0x00000001) + var12) << 0x00000002) + sp;
  __asm__ ("lwc1       $fpr02, 8($v0);"
           "lwc1       $fpr00, 0($v0);"
           "lwc1       $fpr01, 4($v0);"
           "swc1       $fpr00, 0($t3);"
           "swc1       $fpr01, 0($t4);"
           "swc1       $fpr02, 0($a2);"
    : 
    : "=r"(var2), "=r"(var3), "=r"(arg3));
  sp = sp + 0x000000A0;
  return;
}

/**
 * Subroutine at address 0x000163D4
 */
void sub_163D4 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFF60;
  var1 = 0x0001E884;
  var2 = arg1;
  var3 = arg2;
  var4 = sp;
  while (1) {
    var5 = ((int *) var1)[0];
    var6 = ((int *) var1)[1];
    var7 = ((int *) var1)[2];
    var8 = ((int *) var1)[3];
    ((int *) var4)[0] = var5;
    var1 = var1 + 0x00000010;
    var4 = var4 + 0x00000010;
    ((int *) var4)[1073741821] = var6;
    ((int *) var4)[1073741822] = var7;
    ((int *) var4)[1073741823] = var8;
    if (var1 != 0x0001E914)
      continue;
    break;
  }
  var9 = ((int *) var1)[0];
  var10 = ((int *) var1)[1];
  var11 = ((int *) var1)[2];
  ((int *) var4)[0] = var9;
  ((int *) var4)[1] = var10;
  ((int *) var4)[2] = var11;
  var12 = arg4 + 0xFFFFFFFF;
  if (!(arg4 != 0x00000000))
  {
    var13 = *((int *) 0x00020EB4);
    var14 = 0x0000000D;
    if (!(var13 != 0x00000000))
    {
      var15 = *((int *) 0x00020EC0);
      var16 = *((int *) 0x00020EBC);
      var17 = (var15 + var16) + 0xFFFFFFFF;
      var18 = ((hi (var17 * 0x2AAAAAAB)) >> 0x00000001) - (var17 >> 0x0000001F);
      var14 = (var17 - (((var18 << 0x00000001) + var18) << 0x00000002)) + 0x00000001;
    }
    var12 = var14 + 0xFFFFFFFF;
  }
  var19 = (((var12 << 0x00000001) + var12) << 0x00000002) + sp;
  __asm__ ("lwc1       $fpr02, 8($v0);"
           "lwc1       $fpr00, 0($v0);"
           "lwc1       $fpr01, 4($v0);"
           "swc1       $fpr00, 0($t3);"
           "swc1       $fpr01, 0($t4);"
           "swc1       $fpr02, 0($a2);"
    : 
    : "=r"(var2), "=r"(var3), "=r"(arg3));
  sp = sp + 0x000000A0;
  return;
}

/**
 * Subroutine at address 0x000164C8
 */
void sub_164C8 ()
{
  var1 = *((int *) 0x00020EB8);
  return;
}

/**
 * Subroutine at address 0x000164D4
 */
void sub_164D4 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  var1 = arg1;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s1;
  if (arg1 == 0x00000000)
  {

  label112:
    ra = ((int *) sp)[6];
  }
  else
  {
    var2 = *((int *) 0x00020EA8);
    var3 = sp;
    scePaf_DC2CA0F7 (var3, var2, "tex_default_text_focus");
    var6 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x00000064), var6);
    var9 = ((int *) sp)[0];
    var10 = *((int *) 0x00020EA8);
    if (!(var9 == 0x00000000))
    {
      var11 = ((int *) var9)[1];
      var12 = var11 + 0xFFFFFFFF;
      ((int *) var9)[1] = var12;
      if (var12 <= 0)
      {
        var193 = ((int *) var9)[0];
        var194 = ((int *) var193)[1];
        var197 var198 = (*var194) (var9, var10);
        var199 = *((int *) 0x00020EA8);
      }
      else
      {
        var13 = *((int *) 0x00020EA8);
      }
    }
    var14 = sp;
    scePaf_DC2CA0F7 (var14, var13, "tex_default_progress_base");
    var17 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x00000068), var17);
    var20 = ((int *) sp)[0];
    var21 = *((int *) 0x00020EA8);
    if (!(var20 == 0x00000000))
    {
      var22 = ((int *) var20)[1];
      var23 = var22 + 0xFFFFFFFF;
      ((int *) var20)[1] = var23;
      if (var23 <= 0)
      {
        var186 = ((int *) var20)[0];
        var187 = ((int *) var186)[1];
        var190 var191 = (*var187) (var20, var21);
        var192 = *((int *) 0x00020EA8);
      }
      else
      {
        var24 = *((int *) 0x00020EA8);
      }
    }
    var25 = sp;
    scePaf_DC2CA0F7 (var25, var24, "tex_default_progress_base_shadow");
    var28 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x0000006C), var28);
    var31 = ((int *) sp)[0];
    var32 = *((int *) 0x00020EA8);
    if (!(var31 == 0x00000000))
    {
      var33 = ((int *) var31)[1];
      var34 = var33 + 0xFFFFFFFF;
      ((int *) var31)[1] = var34;
      if (var34 <= 0)
      {
        var179 = ((int *) var31)[0];
        var180 = ((int *) var179)[1];
        var183 var184 = (*var180) (var31, var32);
        var185 = *((int *) 0x00020EA8);
      }
      else
      {
        var35 = *((int *) 0x00020EA8);
      }
    }
    var36 = sp;
    scePaf_DC2CA0F7 (var36, var35, "tex_default_progress_slider");
    var39 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x00000070), var39);
    var42 = ((int *) sp)[0];
    var43 = *((int *) 0x00020EA8);
    if (!(var42 == 0x00000000))
    {
      var44 = ((int *) var42)[1];
      var45 = var44 + 0xFFFFFFFF;
      ((int *) var42)[1] = var45;
      if (var45 <= 0)
      {
        var172 = ((int *) var42)[0];
        var173 = ((int *) var172)[1];
        var176 var177 = (*var173) (var42, var43);
        var178 = *((int *) 0x00020EA8);
      }
      else
      {
        var46 = *((int *) 0x00020EA8);
      }
    }
    var47 = sp;
    scePaf_DC2CA0F7 (var47, var46, "tex_default_scroll_base");
    var50 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x00000074), var50);
    var53 = ((int *) sp)[0];
    var54 = *((int *) 0x00020EA8);
    if (!(var53 == 0x00000000))
    {
      var55 = ((int *) var53)[1];
      var56 = var55 + 0xFFFFFFFF;
      ((int *) var53)[1] = var56;
      if (var56 <= 0)
      {
        var165 = ((int *) var53)[0];
        var166 = ((int *) var165)[1];
        var169 var170 = (*var166) (var53, var54);
        var171 = *((int *) 0x00020EA8);
      }
      else
      {
        var57 = *((int *) 0x00020EA8);
      }
    }
    var58 = sp;
    scePaf_DC2CA0F7 (var58, var57, "tex_default_scroll_base_shadow");
    var61 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x00000078), var61);
    var64 = ((int *) sp)[0];
    var65 = *((int *) 0x00020EA8);
    if (!(var64 == 0x00000000))
    {
      var66 = ((int *) var64)[1];
      var67 = var66 + 0xFFFFFFFF;
      ((int *) var64)[1] = var67;
      if (var67 <= 0)
      {
        var158 = ((int *) var64)[0];
        var159 = ((int *) var158)[1];
        var162 var163 = (*var159) (var64, var65);
        var164 = *((int *) 0x00020EA8);
      }
      else
      {
        var68 = *((int *) 0x00020EA8);
      }
    }
    var69 = sp;
    scePaf_DC2CA0F7 (var69, var68, "tex_default_scroll_slider");
    var72 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x0000007C), var72);
    var75 = ((int *) sp)[0];
    var76 = *((int *) 0x00020EA8);
    if (!(var75 == 0x00000000))
    {
      var77 = ((int *) var75)[1];
      var78 = var77 + 0xFFFFFFFF;
      ((int *) var75)[1] = var78;
      if (var78 <= 0)
      {
        var151 = ((int *) var75)[0];
        var152 = ((int *) var151)[1];
        var155 var156 = (*var152) (var75, var76);
        var157 = *((int *) 0x00020EA8);
      }
      else
      {
        var79 = *((int *) 0x00020EA8);
      }
    }
    var80 = sp;
    scePaf_DC2CA0F7 (var80, var79, "tex_default_scroll_arrow_up");
    var83 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x00000080), var83);
    var86 = ((int *) sp)[0];
    var87 = *((int *) 0x00020EA8);
    if (!(var86 == 0x00000000))
    {
      var88 = ((int *) var86)[1];
      var89 = var88 + 0xFFFFFFFF;
      ((int *) var86)[1] = var89;
      if (var89 <= 0)
      {
        var144 = ((int *) var86)[0];
        var145 = ((int *) var144)[1];
        var148 var149 = (*var145) (var86, var87);
        var150 = *((int *) 0x00020EA8);
      }
      else
      {
        var90 = *((int *) 0x00020EA8);
      }
    }
    var91 = sp;
    scePaf_DC2CA0F7 (var91, var90, "tex_default_scroll_arrow_up_shadow");
    var94 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x00000084), var94);
    var97 = ((int *) sp)[0];
    var98 = *((int *) 0x00020EA8);
    if (!(var97 == 0x00000000))
    {
      var99 = ((int *) var97)[1];
      var100 = var99 + 0xFFFFFFFF;
      ((int *) var97)[1] = var100;
      if (var100 <= 0)
      {
        var137 = ((int *) var97)[0];
        var138 = ((int *) var137)[1];
        var141 var142 = (*var138) (var97, var98);
        var143 = *((int *) 0x00020EA8);
      }
      else
      {
        var101 = *((int *) 0x00020EA8);
      }
    }
    var102 = sp;
    scePaf_DC2CA0F7 (var102, var101, "tex_default_spin_arrow_up");
    var105 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x0000008C), var105);
    var108 = ((int *) sp)[0];
    var109 = *((int *) 0x00020EA8);
    if (!(var108 == 0x00000000))
    {
      var110 = ((int *) var108)[1];
      var111 = var110 + 0xFFFFFFFF;
      ((int *) var108)[1] = var111;
      if (var111 <= 0)
      {
        var130 = ((int *) var108)[0];
        var131 = ((int *) var130)[1];
        var134 var135 = (*var131) (var108, var109);
        var136 = *((int *) 0x00020EA8);
      }
      else
      {
        var112 = *((int *) 0x00020EA8);
      }
    }
    var113 = sp;
    scePaf_DC2CA0F7 (var113, var112, "tex_default_spin_arrow_up_shadow");
    var116 = ((int *) sp)[0];
    sub_138B4 ((var1 + 0x00000090), var116);
    var119 = ((int *) sp)[0];
    ra = ((int *) sp)[6];
    if (!(var119 == 0x00000000))
    {
      var120 = ((int *) var119)[1];
      var121 = var120 + 0xFFFFFFFF;
      ((int *) var119)[1] = var121;
      if (!(var121 <= 0))
        goto label112;
      var124 = ((int *) var119)[0];
      var125 = ((int *) var124)[1];
      var128 var129 = (*var125) (var119);
      ra = ((int *) sp)[6];
    }
  }
  var122 = ((int *) sp)[5];
  var123 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000168A0
 */
void sub_168A0 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s4;
  var1 = arg1;
  ((int *) sp)[5] = ra;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  if (!(arg1 == 0x00000000))
  {
    var2 = *((int *) 0x00020EA8);
    var5 = scePaf_D7215544 (var2, 0x0001EA68);
    ((int *) var1)[37] = var5;
    var6 = *((int *) 0x00020EA8);
    var9 = scePaf_D7215544 (var6, 0x0001EA74);
    ((int *) var1)[38] = var9;
    var10 = *((int *) 0x00020EA8);
    var13 = scePaf_D7215544 (var10, 0x0001EA80);
    ((int *) var1)[39] = var13;
    var14 = *((int *) 0x00020EA8);
    var17 = scePaf_D7215544 (var14, 0x0001EA80);
    ((int *) var1)[40] = var17;
    var18 = *((int *) 0x00020EA8);
    var21 = scePaf_D7215544 (var18, "snd_category_decide");
    ((int *) var1)[41] = var21;
    var22 = *((int *) 0x00020EA8);
    var25 = scePaf_D7215544 (var22, 0x0001EA80);
    ((int *) var1)[42] = var25;
    var26 = *((int *) 0x00020EA8);
    var29 = scePaf_D7215544 (var26, 0x0001EA68);
    ((int *) var1)[43] = var29;
    var30 = *((int *) 0x00020EA8);
    var33 = scePaf_D7215544 (var30, 0x0001EA80);
    ((int *) var1)[44] = var33;
    var34 = *((int *) 0x00020EA8);
    var37 = scePaf_D7215544 (var34, 0x0001EA74);
    ((int *) var1)[45] = var37;
    var38 = *((int *) 0x00020EA8);
    var41 = scePaf_D7215544 (var38, 0x0001EA74);
    ((int *) var1)[46] = var41;
    var42 = *((int *) 0x00020EA8);
    var45 = scePaf_D7215544 (var42, 0x0001EA74);
    ((int *) var1)[47] = var45;
    var46 = *((int *) 0x00020EA8);
    var49 = scePaf_D7215544 (var46, 0x0001EA68);
    ((int *) var1)[48] = var49;
    var50 = *((int *) 0x00020EA8);
    var53 = scePaf_D7215544 (var50, 0x0001EA80);
    ((int *) var1)[49] = var53;
    var54 = *((int *) 0x00020EA8);
    var57 = scePaf_D7215544 (var54, 0x0001EA68);
    ((int *) var1)[50] = var57;
    var58 = *((int *) 0x00020EA8);
    var61 = scePaf_D7215544 (var58, 0x0001EA74);
    ((int *) var1)[51] = var61;
    var62 = *((int *) 0x00020EA8);
    var65 = scePaf_D7215544 (var62, 0x0001EA80);
    ((int *) var1)[52] = var65;
    var66 = *((int *) 0x00020EA8);
    var69 = scePaf_D7215544 (var66, 0x0001EA68);
    ((int *) var1)[53] = var69;
    var70 = *((int *) 0x00020EA8);
    var73 = scePaf_D7215544 (var70, 0x0001EA74);
    ((int *) var1)[54] = var73;
    var74 = *((int *) 0x00020EA8);
    var77 = scePaf_D7215544 (var74, 0x0001EA80);
    ((int *) var1)[55] = var77;
    var78 = *((int *) 0x00020EA8);
    var81 = scePaf_D7215544 (var78, 0x0001EA68);
    ((int *) var1)[56] = var81;
    var82 = *((int *) 0x00020EA8);
    var85 = scePaf_D7215544 (var82, 0x0001EA74);
    ((int *) var1)[57] = var85;
    var86 = *((int *) 0x00020EA8);
    var89 = scePaf_D7215544 (var86, 0x0001EA80);
    ((int *) var1)[58] = var89;
  }
  ra = ((int *) sp)[5];
  var90 = ((int *) sp)[4];
  var91 = ((int *) sp)[3];
  var92 = ((int *) sp)[2];
  var93 = ((int *) sp)[1];
  var94 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00016A64
 */
void sub_16A64 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  __asm__ ("swc1       $fpr20, 16($sp);"
    : 
    : "=r"(sp));
  var1 = arg1 & 0x000000FF;
  ((int *) sp)[0] = ra;
  __asm__ ("mov.s      $fpr20, $fpr12;");
  var2 = *((int *) 0x00020EAC);
  *((char *) 0x00020EF9) = var1;
  if (var2 == 0x00000000)
  {

  label15:
    ra = ((int *) sp)[0];
  }
  else
  {
    if (var1 == 0x00000000)
    {
      var10 = scePaf_DAB59652 (var2, "page_default_theme_3D");
      __asm__ ("mov.s      $fpr12, $fpr20;");
      if (var10 == 0x00000000)
        goto label15;
      scePaf_D02C0D2E (var10, 0x00000001, 0x00000000);
      ra = ((int *) sp)[0];
    }
    else
    {
      var5 = scePaf_DAB59652 (var2, "page_default_theme_3D");
      if (!(var5 == 0x00000000))
      {
        __asm__ ("mov.s      $fpr12, $fpr20;");
        scePaf_927854C5 (var5, 0x00000001, 0x00000000);
      }
      goto label15;
    }
  }
  __asm__ ("lwc1       $fpr20, 16($sp);");
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00016B00
 */
void sub_16B00 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  var1 = arg1 & 0x000000FF;
  var2 = *((int *) 0x00020EAC);
  __asm__ ("swc1       $fpr20, 16($sp);"
           "mov.s      $fpr20, $fpr12;"
    : 
    : "=r"(sp));
  ((int *) sp)[1] = ra;
  *((char *) 0x00020EFA) = var1;
  if (var2 == 0x00000000)
  {

  label25:
    ra = ((int *) sp)[1];
  }
  else
  {
    if (var1 == 0x00000000)
    {
      var17 = scePaf_DAB59652 (var2, "page_default_theme");
      if (!(var17 == 0x00000000))
      {
        __asm__ ("mov.s      $fpr12, $fpr20;");
        scePaf_D02C0D2E (var17, 0x00000001, 0x00000000);
      }
      var20 = *((int *) 0x00020EAC);
      var23 = scePaf_DAB59652 (var20, "page_wallpaper_theme");
      if (var23 == 0x00000000)
        goto label25;
      __asm__ ("mov.s      $fpr12, $fpr20;");
      scePaf_D02C0D2E (var23, 0x00000001, 0x00000000);
      ra = ((int *) sp)[1];
    }
    else
    {
      var5 = scePaf_DAB59652 (var2, "page_default_theme");
      if (!(var5 == 0x00000000))
      {
        __asm__ ("mov.s      $fpr12, $fpr20;");
        scePaf_927854C5 (var5, 0x00000001, 0x00000000);
      }
      var8 = *((int *) 0x00020EAC);
      var11 = scePaf_DAB59652 (var8, "page_wallpaper_theme");
      if (!(var11 == 0x00000000))
      {
        __asm__ ("mov.s      $fpr12, $fpr20;");
        scePaf_927854C5 (var11, 0x00000001, 0x00000000);
      }
      goto label25;
    }
  }
  var14 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 16($sp);");
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00016BE8
 */
void sub_16BE8 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  var1 = arg1 & 0x000000FF;
  __asm__ ("swc1       $fpr20, 16($sp);"
    : 
    : "=r"(sp));
  ((int *) sp)[1] = ra;
  __asm__ ("mov.s      $fpr20, $fpr12;");
  sub_16A64 (var1);
  __asm__ ("mov.s      $fpr12, $fpr20;");
  sub_16B00 (var1);
  ra = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 16($sp);");
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00016C28
 */
void sub_16C28 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  __asm__ ("swc1       $fpr20, 16($sp);"
    : 
    : "=r"(sp));
  ((int *) sp)[1] = ra;
  __asm__ ("mov.s      $fpr20, $fpr12;");
  var1 = *((int *) 0x00020EAC);
  if (var1 != 0x00000000)
  {
    var5 = scePaf_4708AED4 (var1, "default_theme_model");
    __asm__ ("mov.s      $fpr12, $fpr20;");
    if (var5 == 0x00000000)
    {

    label9:
      ra = ((int *) sp)[1];
    }
    else
    {
      scePaf_6A772BF7 (var5, arg1);
      ra = ((int *) sp)[1];
    }
  }
  else
  goto label9;
  var2 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 16($sp);");
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00016C94
 */
void sub_16C94 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  __asm__ ("swc1       $fpr20, 16($sp);"
    : 
    : "=r"(sp));
  var1 = arg1 & 0x000000FF;
  ((int *) sp)[1] = ra;
  __asm__ ("mov.s      $fpr20, $fpr12;");
  var2 = *((int *) 0x00020EB0);
  *((char *) 0x00020EFB) = var1;
  if (var2 != 0x00000000)
  {
    var6 = scePaf_DAB59652 (var2, "page_indicator");
    var7 = var6;
    if (var6 == 0x00000000)
    {

    label15:
      ra = ((int *) sp)[1];
    }
    else
    {
      if (var1 == 0x00000000)
      {
        var12 = *((int *) 0x00020EC4);
        __asm__ ("mov.s      $fpr12, $fpr20;");
        var13 = var12 + 0xFFFFFFFF;
        *((int *) 0x00020EC4) = var13;
        if (var13 != 0x00000000)
          goto label15;
        scePaf_D02C0D2E (var7, 0x00000001, 0x00000000);
        ra = ((int *) sp)[1];
      }
      else
      {
        var8 = *((int *) 0x00020EC4);
        __asm__ ("mov.s      $fpr12, $fpr20;");
        var9 = var8 + 0x00000001;
        *((int *) 0x00020EC4) = var9;
        if (var9 != 0x00000001)
          goto label15;
        scePaf_927854C5 (var7, 0x00000001, 0x00000000);
        ra = ((int *) sp)[1];
      }
    }
  }
  else
  goto label15;
  var3 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 16($sp);");
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00016D5C
 */
void sub_16D5C (int arg1)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[9] = ra;
  var1 = sp;
  ((int *) sp)[8] = s0;
  var2 = ((int *) arg1)[0];
  var3 = ((int *) var2)[37];
  var6 var7 = (*var3) (arg1, 0x00000012, var1, arg4, arg5, arg6, arg7, arg8);
  var8 = *((int *) 0x00020EB0);
  var11 = scePaf_4708AED4 (var8, "infotext1");
  var12 = var11;
  var13 = sp + 0x00000010;
  __asm__ ("mtc1       $zr, $fpr4;");
  if (!(var11 == 0x00000000))
  {
    __asm__ ("lwc1       $fpr03, -4436($v0);");
    __asm__ ("lwc1       $fpr01, -4444($v0);"
             "lwc1       $fpr00, 0($sp);");
    __asm__ ("sub.s      $fpr01, $fpr01, $fpr00;"
             "lwc1       $fpr00, -4440($v0);"
             "sub.s      $fpr01, $fpr01, $fpr00;"
             "c.lt.s     $fpr01, $fpr04;");
    __asm__ ("bc1f       0x00016DDC;"
             "lwc1       $fpr02, 4($sp);");
    {
      __asm__ ("mov.s      $fpr01, $fpr04;");
    }
    var14 = ((int *) var12)[0];
    __asm__ ("swc1       $fpr01, 16($sp);"
      : 
      : "=r"(sp));
    var15 = ((int *) var14)[22];
    __asm__ ("swc1       $fpr02, 20($sp);"
             "swc1       $fpr03, 28($sp);"
      : 
      : "=r"(sp));
    __asm__ ("swc1       $fpr03, 24($sp);"
      : 
      : "=r"(sp));
    var18 var19 = (*var15) (var11, var13);
    var22 = scePaf_EAA5AFF6 (var12, 0x01000004);
    ((char *) var12)[511] = 0x00000001;
    ((char *) var12)[510] = 0x00000001;
    scePaf_86B41BA3 (var12);
  }
  ra = ((int *) sp)[9];
  var25 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00016E2C
 */
void sub_16E2C (int arg1, int arg2, int arg3)
{
  sp = sp + 0xFFFFFFA0;
  ((int *) sp)[22] = s6;
  ((int *) sp)[18] = s2;
  var1 = *((int *) 0x00020EB0);
  ((int *) sp)[19] = s3;
  ((int *) sp)[20] = s4;
  ((int *) sp)[23] = ra;
  ((int *) sp)[21] = s5;
  ((int *) sp)[17] = s1;
  ((int *) sp)[16] = s0;
  scePaf_F609FA81 (var1, "page_infobar", 0x00000000, 0x00000000);
  var4 = *((int *) 0x00020EB0);
  var7 = scePaf_4708AED4 (var4, "infoicon");
  var8 = *((int *) 0x00020EB0);
  var9 = var7;
  var12 = scePaf_4708AED4 (var8, "infotext1");
  var13 = *((int *) 0x00020EB0);
  var14 = var12;
  var17 = scePaf_4708AED4 (var13, "infotext2");
  var18 = var17;
  scePaf_F47CA1C2 (var17, 0x0002000C, 0x00016D5C, 0x00000000);
  var21 = ((int *) var9)[0];
  var22 = ((int *) var21)[42];
  var25 var26 = (*var22) (var9, arg1, 0x00000000);
  var27 = sp;
  ((int *) sp)[0] = 0x00000000;
  ((int *) sp)[1] = 0x00000000;
  sub_0B3E4 (var27, arg2);
  var30 = ((int *) var14)[0];
  var31 = sp;
  var32 = ((int *) var30)[44];
  var35 var36 = (*var32) (var14, var31, 0x00000000);
  var37 = sp;
  sub_0B3B4 (var37);
  var40 = sp;
  ((int *) sp)[0] = 0x00000000;
  ((int *) sp)[1] = 0x00000000;
  sub_0B3E4 (var40, arg3);
  var43 = sp;
  var44 = ((int *) var18)[0];
  var45 = ((int *) var44)[44];
  var48 var49 = (*var45) (var18, var43, 0x00000000);
  var50 = sp;
  sub_0B3B4 (var50);
  var53 = ((int *) var18)[4];
  if (((var53 >> 0x0000000C) & 0x00000001) != 0x00000000)
  {
    ((char *) var14)[510] = 0x00000000;
    ((char *) var14)[511] = 0x00000000;
    scePaf_86B41BA3 (var14);
  }
  else
  {
  }
  var54 = *((unsigned char *) 0x00020EC8);
  if (var54 == 0x00000000)
  {
    var62 = *((int *) 0x00020EB0);
    var65 = scePaf_4708AED4 (var62, "infobar");
    var66 = sp + 0x00000038;
    var67 = sp + 0x00000030;
    var68 = sp + 0x00000034;
    var69 = var65;
    sub_162E0 (var67, var68, var66, 0x00000000);
    __asm__ ("lwc1       $fpr00, 48($sp);");
    var72 = ((int *) var69)[0];
    __asm__ ("swc1       $fpr00, 32($sp);"
      : 
      : "=r"(sp));
    var73 = sp + 0x00000020;
    __asm__ ("lwc1       $fpr00, 52($sp);"
             "swc1       $fpr00, 36($sp);"
             "lwc1       $fpr00, 56($sp);"
             "swc1       $fpr00, 40($sp);"
             "lwc1       $fpr00, -4432($v0);"
      : 
      : "=r"(sp));
    var74 = ((int *) var72)[20];
    __asm__ ("swc1       $fpr00, 44($sp);"
      : 
      : "=r"(sp));
    var77 var78 = (*var74) (var69, var73);
    var81 = scePaf_EAA5AFF6 (var69, 0x01000002);
    var82 = *((int *) 0x00020EB0);
    scePaf_63B24F4D (var82, var69, "anim_infobar_show");
    __asm__ ("lwc1       $fpr12, -4428($v0);");
    sub_16C94 (0x00000000);
  }
  else
  {
  }
  *((char *) 0x00020EC8) = 0x00000001;
  ra = ((int *) sp)[23];
  var55 = ((int *) sp)[22];
  var56 = ((int *) sp)[21];
  var57 = ((int *) sp)[20];
  var58 = ((int *) sp)[19];
  var59 = ((int *) sp)[18];
  var60 = ((int *) sp)[17];
  var61 = ((int *) sp)[16];
  sp = sp + 0x00000060;
  return;
}

/**
 * Subroutine at address 0x00017058
 */
void sub_17058 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020EB0);
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  var4 = scePaf_DAB59652 (var1, "page_infobar");
  if (var4 != 0x00000000)
  {
    var7 = *((int *) 0x00020EB0);
    var10 = scePaf_4708AED4 (var7, "infobar");
    if ((arg1 & 0x000000FF) == 0x00000000)
    {
      var16 = *((int *) 0x00020EB0);
    }
    else
    {
      var11 = *((int *) 0x00020EB0);
    }
    scePaf_63B24F4D (var11, var10, "anim_infobar_hide_immediately");
    __asm__ ("lwc1       $fpr12, -4424($v1);");
    *((char *) 0x00020EC8) = 0x00000000;
    sub_16C94 (0x00000001);
    ra = ((int *) sp)[2];
  }
  else
  {
    ra = ((int *) sp)[2];
  }
  var5 = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000170FC
 */
void sub_170FC ()
{
  var1 = *((unsigned char *) 0x00020EC8);
  return;
}

/**
 * Subroutine at address 0x00017108
 */
void sub_17108 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  sub_13700 (arg1, 0x00000000);
  var4 = *((int *) 0x00020EB0);
  var7 = scePaf_4708AED4 (var4, "infoicon");
  if (!(var7 == 0x00000000))
  {
    var8 = ((int *) var7)[0];
    var9 = ((int *) var8)[43];
    var12 var13 = (*var9) (var7, var1, 0x00000000);
  }
  ra = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00017168
 */
void sub_17168 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  var1 = arg1;
  ((int *) sp)[5] = ra;
  ((int *) arg1)[0] = 0x00000000;
  var2 = *((int *) 0x00020EB0);
  ((int *) var1)[1] = 0x00000000;
  var5 = scePaf_4708AED4 (var2, "infotext1");
  if (!(var5 == 0x00000000))
  {
    var6 = ((int *) var5)[0];
    var7 = ((int *) var6)[45];
    var10 var11 = (*var7) (var5, var1, 0x00000000);
  }
  ra = ((int *) sp)[5];
  var12 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000171D0
 */
void sub_171D0 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  var1 = arg1;
  ((int *) sp)[5] = ra;
  ((int *) arg1)[0] = 0x00000000;
  var2 = *((int *) 0x00020EB0);
  ((int *) var1)[1] = 0x00000000;
  var5 = scePaf_4708AED4 (var2, "infotext2");
  if (!(var5 == 0x00000000))
  {
    var6 = ((int *) var5)[0];
    var7 = ((int *) var6)[45];
    var10 var11 = (*var7) (var5, var1, 0x00000000);
  }
  ra = ((int *) sp)[5];
  var12 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00017238
 */
void sub_17238 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  __asm__ ("swc1       $fpr20, 16($sp);"
    : 
    : "=r"(sp));
  var1 = *((int *) 0x00020ECC);
  var2 = var1 + 0x00000001;
  *((int *) 0x00020ECC) = var2;
  if (var2 == 0x00000001)
  {
    var4 = *((int *) 0x00020F18);
    if (var4 == 0x00000000)
    {

    label13:
      ra = ((int *) sp)[1];
    }
    else
    {
      __asm__ ("lwc1       $fpr20, -4420($v0);");
      *((int *) 0x00020ED0) = 0x00000000;
      __asm__ ("mov.s      $fpr12, $fpr20;");
      scePaf_927854C5 (var4, 0x00000001, 0x00000000);
      __asm__ ("lwc1       $fpr12, -4416($v0);");
      var7 = *((int *) 0x00020F18);
      scePaf_33096E46 (var7, 0x00000064, 0x000150B4, 0x00000000);
      var10 = *((int *) 0x00020F18);
      sub_150B4 (var10);
      var13 = *((int *) 0x00020F1C);
      __asm__ ("mov.s      $fpr12, $fpr20;");
      scePaf_927854C5 (var13, 0x00000001, 0x00000000);
      ra = ((int *) sp)[1];
    }
  }
  else
  goto label13;
  var3 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 16($sp);");
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000172F8
 */
void sub_172F8 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  __asm__ ("swc1       $fpr20, 16($sp);"
    : 
    : "=r"(sp));
  var1 = *((int *) 0x00020ECC);
  var2 = var1 + 0xFFFFFFFF;
  *((int *) 0x00020ECC) = var2;
  if (var2 != 0x00000000)
  {

  label11:
    ra = ((int *) sp)[1];
  }
  else
  {
    var3 = *((int *) 0x00020F18);
    if (!(var3 != 0x00000000))
      goto label11;
    __asm__ ("lwc1       $fpr20, -4412($v0);");
    __asm__ ("mov.s      $fpr12, $fpr20;");
    scePaf_D02C0D2E (var3, 0x00000001, 0x00000000);
    var7 = *((int *) 0x00020F1C);
    __asm__ ("mov.s      $fpr12, $fpr20;");
    scePaf_D02C0D2E (var7, 0x00000001, 0x00000000);
    var10 = *((int *) 0x00020F18);
    var13 = scePaf_EAA5AFF6 (var10, 0x00000064);
    ra = ((int *) sp)[1];
  }
  var4 = ((int *) sp)[0];
  __asm__ ("lwc1       $fpr20, 16($sp);");
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00017384
 */
void sub_17384 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[2] = s2;
  var1 = 0x00000000;
  ((int *) sp)[1] = s1;
  var2 = arg1 & 0x000000FF;
  ((int *) sp)[4] = ra;
  ((int *) sp)[3] = s3;
  ((int *) sp)[0] = s0;
  var5 = scePaf_EA39A7C1 ();
  if (var5 == 0x00000000)
  {
    var1 = *((unsigned char *) 0x00020F2D);
    if (!(var1 == var2))
    {
      var17 = *((int *) 0x00020EB0);
      var20 = scePaf_4708AED4 (var17, "circle_label");
      if (!(var2 != 0x00000000))
      {
      }
      var21 = *((int *) 0x00020EB0);
      scePaf_63B24F4D (var21, var20, "anim_circle_hide");
    }
    *((char *) 0x00020F2D) = var2;
  }
  else
  {
    if (var5 == 0x00000001)
    {
      var1 = *((unsigned char *) 0x00020F2C);
      if (!(var1 == var2))
      {
        var10 = *((int *) 0x00020EB0);
        var13 = scePaf_4708AED4 (var10, "cross_label");
        if (!(var2 != 0x00000000))
        {
        }
        var14 = *((int *) 0x00020EB0);
        scePaf_63B24F4D (var14, var13, "anim_cross_hide");
      }
      *((char *) 0x00020F2C) = var2;
    }
  }
  ra = ((int *) sp)[4];
  var6 = ((int *) sp)[3];
  var7 = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00017478
 */
void sub_17478 (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[2] = s2;
  var1 = 0x00000000;
  ((int *) sp)[1] = s1;
  var2 = arg1 & 0x000000FF;
  ((int *) sp)[4] = ra;
  ((int *) sp)[3] = s3;
  ((int *) sp)[0] = s0;
  var5 = scePaf_EA39A7C1 ();
  if (var5 == 0x00000000)
  {
    var1 = *((unsigned char *) 0x00020F2C);
    if (!(var1 == var2))
    {
      var17 = *((int *) 0x00020EB0);
      var20 = scePaf_4708AED4 (var17, "cross_label");
      if (!(var2 != 0x00000000))
      {
      }
      var21 = *((int *) 0x00020EB0);
      scePaf_63B24F4D (var21, var20, "anim_cross_hide");
    }
    *((char *) 0x00020F2C) = var2;
  }
  else
  {
    if (var5 == 0x00000001)
    {
      var1 = *((unsigned char *) 0x00020F2D);
      if (!(var1 == var2))
      {
        var10 = *((int *) 0x00020EB0);
        var13 = scePaf_4708AED4 (var10, "circle_label");
        if (!(var2 != 0x00000000))
        {
        }
        var14 = *((int *) 0x00020EB0);
        scePaf_63B24F4D (var14, var13, "anim_circle_hide");
      }
      *((char *) 0x00020F2D) = var2;
    }
  }
  ra = ((int *) sp)[4];
  var6 = ((int *) sp)[3];
  var7 = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0001756C
 */
void sub_1756C (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[0] = s0;
  var1 = arg1 & 0x000000FF;
  ((int *) sp)[4] = ra;
  ((int *) sp)[1] = s1;
  var2 = *((unsigned char *) 0x00020F2E);
  if (!(var2 == var1))
  {
    var3 = *((int *) 0x00020EB0);
    var6 = scePaf_4708AED4 (var3, "triangle_label");
    var7 = *((int *) 0x00020EB0);
    if (!(var1 != 0x00000000))
    {
    }
    scePaf_63B24F4D (var7, var6, "anim_triangle_hide");
  }
  *((char *) 0x00020F2E) = var1;
  ra = ((int *) sp)[4];
  var10 = ((int *) sp)[3];
  var11 = ((int *) sp)[2];
  var12 = ((int *) sp)[1];
  var13 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x000175FC
 */
void sub_175FC (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s4;
  ((int *) arg1)[0] = 0x00000000;
  ((int *) arg1)[1] = 0x00000000;
  ((int *) sp)[10] = s2;
  var1 = arg2;
  ((int *) sp)[9] = s1;
  var2 = arg1;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s5;
  ((int *) sp)[11] = s3;
  ((int *) sp)[8] = s0;
  var5 = scePaf_EA39A7C1 ();
  if (var5 == 0x00000000)
  {
    sub_139FC (var2, 0x00020F3C);
    var55 = ((int *) var2)[0];
    var56 = ((unsigned short *) var1)[0];
    var57 = ((unsigned short *) var55)[0];
    var58 = 0x00000000;
    if (var57 == var56)
    {
      var90 = scePaf_2FDC80B3 (var55, var1);
      if (var90 == 0x00000000)
      {
        var58 = 0x00000001;

      label13:
        var59 = var58 ^ 0x00000001;
      }
      else
      {
        var59 = 0x00000000 ^ 0x00000001;
      }
    }
    else
    goto label13;
    if (var59 != 0x00000000)
    {
      var60 = *((int *) 0x00020EB0);
      var63 = scePaf_4708AED4 (var60, "circle_label");
      var64 = var63;
      if (var63 == 0x00000000)
      {

      label24:
        var65 = 0x00000000;
      }
      else
      {
        var65 = var64;
        var68 = scePaf_96C46364 ();
        var69 = ((int *) var64)[0];
        var70 = ((int *) var69)[0];
        var73 var74 = (*var70) (var64, var68);
        if (!(var73 != 0x00000000))
          goto label24;
      }
      var75 = sp + 0x00000010;
      if (var65 == 0x00000000)
      {

      label35:
        var19 = 0x00020F3C;
      }
      else
      {
        scePaf_A574DB92 (var65);
        ((int *) sp)[4] = 0x00000000;
        ((int *) sp)[5] = 0x00000000;
        sub_0B3E4 (var75, var1);
        var80 = ((int *) var65)[0];
        var81 = ((int *) var80)[44];
        var84 var85 = (*var81) (var65, var75, 0x00000000);
        sub_0B3B4 (var75);
        var19 = 0x00020F3C;
      }
    }
    else
    goto label35;

  label69:
    sub_0B3E4 (var19, var1);
  }
  else
  {
    if (var5 == 0x00000001)
    {
      sub_139FC (var2, 0x00020F30);
      var14 = ((int *) var2)[0];
      var15 = ((unsigned short *) var1)[0];
      var16 = ((unsigned short *) var14)[0];
      var17 = 0x00000000;
      if (var16 == var15)
      {
        var52 = scePaf_2FDC80B3 (var14, var1);
        if (var52 == 0x00000000)
        {
          var17 = 0x00000001;

        label46:
          var18 = var17 ^ 0x00000001;
        }
        else
        {
          var18 = 0x00000000 ^ 0x00000001;
        }
      }
      else
      goto label46;
      if (var18 != 0x00000000)
      {
        var22 = *((int *) 0x00020EB0);
        var25 = scePaf_4708AED4 (var22, "cross_label");
        var26 = var25;
        if (var25 == 0x00000000)
        {

        label57:
          var27 = 0x00000000;
        }
        else
        {
          var27 = var26;
          var30 = scePaf_96C46364 ();
          var31 = ((int *) var26)[0];
          var32 = ((int *) var31)[0];
          var35 var36 = (*var32) (var26, var30);
          if (!(var35 != 0x00000000))
            goto label57;
        }
        var37 = sp + 0x00000010;
        if (var27 == 0x00000000)
        {

        label68:
          var19 = 0x00020F30;
        }
        else
        {
          scePaf_A574DB92 (var27);
          ((int *) sp)[4] = 0x00000000;
          ((int *) sp)[5] = 0x00000000;
          sub_0B3E4 (var37, var1);
          var42 = ((int *) var27)[0];
          var43 = ((int *) var42)[44];
          var46 var47 = (*var43) (var27, var37, 0x00000000);
          sub_0B3B4 (var37);
          var19 = 0x00020F30;
        }
      }
      else
      goto label68;
      goto label69;
    }
    else
    {
    }
  }
  ra = ((int *) sp)[14];
  var6 = ((int *) sp)[13];
  var7 = ((int *) sp)[12];
  var8 = ((int *) sp)[11];
  var9 = ((int *) sp)[10];
  var10 = ((int *) sp)[9];
  var11 = ((int *) sp)[8];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x0001783C
 */
void sub_1783C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[12] = s4;
  ((int *) arg1)[0] = 0x00000000;
  ((int *) arg1)[1] = 0x00000000;
  ((int *) sp)[10] = s2;
  var1 = arg2;
  ((int *) sp)[9] = s1;
  var2 = arg1;
  ((int *) sp)[14] = ra;
  ((int *) sp)[13] = s5;
  ((int *) sp)[11] = s3;
  ((int *) sp)[8] = s0;
  var5 = scePaf_EA39A7C1 ();
  if (var5 == 0x00000000)
  {
    sub_139FC (var2, 0x00020F30);
    var55 = ((int *) var2)[0];
    var56 = ((unsigned short *) var1)[0];
    var57 = ((unsigned short *) var55)[0];
    var58 = 0x00000000;
    if (var57 == var56)
    {
      var90 = scePaf_2FDC80B3 (var55, var1);
      if (var90 == 0x00000000)
      {
        var58 = 0x00000001;

      label13:
        var59 = var58 ^ 0x00000001;
      }
      else
      {
        var59 = 0x00000000 ^ 0x00000001;
      }
    }
    else
    goto label13;
    if (var59 != 0x00000000)
    {
      var60 = *((int *) 0x00020EB0);
      var63 = scePaf_4708AED4 (var60, "cross_label");
      var64 = var63;
      if (var63 == 0x00000000)
      {

      label24:
        var65 = 0x00000000;
      }
      else
      {
        var65 = var64;
        var68 = scePaf_96C46364 ();
        var69 = ((int *) var64)[0];
        var70 = ((int *) var69)[0];
        var73 var74 = (*var70) (var64, var68);
        if (!(var73 != 0x00000000))
          goto label24;
      }
      var75 = sp + 0x00000010;
      if (var65 == 0x00000000)
      {

      label35:
        var19 = 0x00020F30;
      }
      else
      {
        scePaf_A574DB92 (var65);
        ((int *) sp)[4] = 0x00000000;
        ((int *) sp)[5] = 0x00000000;
        sub_0B3E4 (var75, var1);
        var80 = ((int *) var65)[0];
        var81 = ((int *) var80)[44];
        var84 var85 = (*var81) (var65, var75, 0x00000000);
        sub_0B3B4 (var75);
        var19 = 0x00020F30;
      }
    }
    else
    goto label35;

  label69:
    sub_0B3E4 (var19, var1);
  }
  else
  {
    if (var5 == 0x00000001)
    {
      sub_139FC (var2, 0x00020F3C);
      var14 = ((int *) var2)[0];
      var15 = ((unsigned short *) var1)[0];
      var16 = ((unsigned short *) var14)[0];
      var17 = 0x00000000;
      if (var16 == var15)
      {
        var52 = scePaf_2FDC80B3 (var14, var1);
        if (var52 == 0x00000000)
        {
          var17 = 0x00000001;

        label46:
          var18 = var17 ^ 0x00000001;
        }
        else
        {
          var18 = 0x00000000 ^ 0x00000001;
        }
      }
      else
      goto label46;
      if (var18 != 0x00000000)
      {
        var22 = *((int *) 0x00020EB0);
        var25 = scePaf_4708AED4 (var22, "circle_label");
        var26 = var25;
        if (var25 == 0x00000000)
        {

        label57:
          var27 = 0x00000000;
        }
        else
        {
          var27 = var26;
          var30 = scePaf_96C46364 ();
          var31 = ((int *) var26)[0];
          var32 = ((int *) var31)[0];
          var35 var36 = (*var32) (var26, var30);
          if (!(var35 != 0x00000000))
            goto label57;
        }
        var37 = sp + 0x00000010;
        if (var27 == 0x00000000)
        {

        label68:
          var19 = 0x00020F3C;
        }
        else
        {
          scePaf_A574DB92 (var27);
          ((int *) sp)[4] = 0x00000000;
          ((int *) sp)[5] = 0x00000000;
          sub_0B3E4 (var37, var1);
          var42 = ((int *) var27)[0];
          var43 = ((int *) var42)[44];
          var46 var47 = (*var43) (var27, var37, 0x00000000);
          sub_0B3B4 (var37);
          var19 = 0x00020F3C;
        }
      }
      else
      goto label68;
      goto label69;
    }
    else
    {
    }
  }
  ra = ((int *) sp)[14];
  var6 = ((int *) sp)[13];
  var7 = ((int *) sp)[12];
  var8 = ((int *) sp)[11];
  var9 = ((int *) sp)[10];
  var10 = ((int *) sp)[9];
  var11 = ((int *) sp)[8];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00017A7C
 */
void sub_17A7C (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[13] = s5;
  ((int *) arg1)[0] = 0x00000000;
  ((int *) sp)[12] = s4;
  ((int *) arg1)[1] = 0x00000000;
  ((int *) sp)[10] = s2;
  var1 = arg2;
  ((int *) sp)[9] = s1;
  var2 = arg1;
  ((int *) sp)[8] = s0;
  var3 = 0x00000000;
  ((int *) sp)[14] = ra;
  ((int *) sp)[11] = s3;
  sub_139FC (arg1, 0x00020F48);
  var6 = ((int *) var2)[0];
  var7 = ((unsigned short *) var1)[0];
  var8 = ((unsigned short *) var6)[0];
  if (var8 == var7)
  {
    var49 = scePaf_2FDC80B3 (var6, var1);
    if (var49 == 0x00000000)
    {
      var3 = 0x00000001;

    label10:
    }
    else
    {
    }
  }
  else
  goto label10;
  if ((var3 ^ 0x00000001) != 0x00000000)
  {
    var17 = *((int *) 0x00020EB0);
    var20 = scePaf_4708AED4 (var17, "triangle_label");
    var21 = var20;
    if (var20 == 0x00000000)
    {

    label20:
      var22 = 0x00000000;
    }
    else
    {
      var22 = var21;
      var25 = scePaf_96C46364 ();
      var26 = ((int *) var21)[0];
      var27 = ((int *) var26)[0];
      var30 var31 = (*var27) (var21, var25);
      if (!(var30 != 0x00000000))
        goto label20;
    }
    if (var22 == 0x00000000)
    {

    label31:
    }
    else
    {
      scePaf_A574DB92 (var22);
      var34 = sp;
      ((int *) sp)[0] = 0x00000000;
      ((int *) sp)[1] = 0x00000000;
      sub_0B3E4 (var34, var1);
      var37 = ((int *) var22)[0];
      var38 = sp;
      var39 = ((int *) var37)[44];
      var42 var43 = (*var39) (var22, var38, 0x00000000);
      var44 = sp;
      sub_0B3B4 (var44);
    }
  }
  else
  goto label31;
  sub_0B3E4 (0x00020F48, var1);
  ra = ((int *) sp)[14];
  var11 = ((int *) sp)[13];
  var12 = ((int *) sp)[12];
  var13 = ((int *) sp)[11];
  var14 = ((int *) sp)[10];
  var15 = ((int *) sp)[9];
  var16 = ((int *) sp)[8];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00017BC4
 */
void sub_17BC4 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  var2 = *((int *) 0x00020EB0);
  ((int *) sp)[2] = ra;
  var5 = scePaf_DAB59652 (var2, "page_btnnavi");
  if (var5 == 0x00000000)
  {

  label18:
    ra = ((int *) sp)[2];
  }
  else
  {
    ra = ((int *) sp)[2];
    if (!(((var1 < 0x00000009)) == 0x00000000))
    {
      var6 = ((int *) ((var1 << 0x00000002) + 0x0001EC74))[0];
      switch () {
      case 0:
        var7 = *((int *) 0x00020EB0);

      label16:
        scePaf_63B24F4D (var7, var5, "anim_btnnavi_jp");
        goto label18;
      case 1:
        var12 = *((int *) 0x00020EB0);
        goto label16;
      case 2:
        var13 = *((int *) 0x00020EB0);
        goto label16;
      case 3:
        var14 = *((int *) 0x00020EB0);
        goto label16;
      case 4:
        var15 = *((int *) 0x00020EB0);
        goto label16;
      case 5:
        var16 = *((int *) 0x00020EB0);
        goto label16;
      case 6:
        var17 = *((int *) 0x00020EB0);
        goto label16;
      case 7:
        var18 = *((int *) 0x00020EB0);
        goto label16;
      case 8:
        var19 = *((int *) 0x00020EB0);
        goto label16;
      }
    }
  }
  var10 = ((int *) sp)[1];
  var11 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00017CC4
 */
void sub_17CC4 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  var1 = arg1 & 0x0000FFFF;
  ((int *) sp)[0] = ra;
  if (var1 == 0x00000062)
  {
    var13 = scePaf_EA39A7C1 ();
    if (var13 == 0x00000000)
    {

    label11:
      var10 = *((int *) 0x00020EA8);
    }
    else
    {
      var14 = *((int *) 0x00020EA8);
    }

  label13:
    var9 = scePaf_BB3CBD19 (var6, "msgsystem_cross", 0xFFFFFFFF);
    var2 = var9;
  }
  else
  {
    var2 = 0x0001E5F0;
    if (var1 == 0x00000065)
    {
      var5 = scePaf_EA39A7C1 ();
      if (var5 == 0x00000000)
        goto label11;
      var6 = *((int *) 0x00020EA8);
      goto label13;
    }
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00017D6C
 */
void sub_17D6C (int arg1, int arg2, int arg3, int arg4)
{
  __asm__ ("mtc1       $zr, $fpr0;");
  sp = sp + 0xFFFFFFD0;
  var1 = sp + 0x00000010;
  var2 = sp;
  ((int *) sp)[8] = ra;
  __asm__ ("swc1       $fpr00, 28($sp);"
           "swc1       $fpr00, 0($sp);"
           "swc1       $fpr00, 4($sp);"
           "swc1       $fpr00, 8($sp);"
           "swc1       $fpr00, 12($sp);"
           "swc1       $fpr00, 16($sp);"
           "swc1       $fpr00, 20($sp);"
    : 
    : "=r"(sp));
  __asm__ ("swc1       $fpr00, 24($sp);"
    : 
    : "=r"(sp));
  scePaf_21B885B8 (arg1, arg4, var2, 0x00000000, var1);
  ra = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00017DB8
 */
void sub_17DB8 (int arg1)
{
  sp = sp + 0xFFFFFFA0;
  ((int *) sp)[17] = s1;
  var1 = *((int *) 0x00020EAC);
  ((int *) sp)[16] = s0;
  var2 = arg1;
  ((int *) sp)[20] = ra;
  ((int *) sp)[19] = s3;
  ((int *) sp)[18] = s2;
  if (var1 != 0x00000000)
  {
    var9 = scePaf_DAB59652 (var1, "page_default_theme_3D");
    if (var9 == 0x00000000)
    {

    label26:
      ra = ((int *) sp)[20];
    }
    else
    {
      var12 = scePaf_79C3CBF7 (var9, 0x00000000);
      var13 = *((int *) 0x00020EAC);
      var14 = var12;
      var17 = scePaf_4708AED4 (var13, "camera_target");
      var18 = var17;
      if (var2 == 0x00000000)
      {
        var37 = scePaf_EAA5AFF6 (var14, 0x00000064);
        ra = ((int *) sp)[20];
      }
      else
      {
        var19 = sp;
        if (((var2 < 0x00000064)) == 0x00000000)
          goto label26;
        scePaf_809A4F83 (var19, 0x00000040, "anim_camera_%02d", var2);
        var22 = *((int *) 0x00020EAC);
        var23 = sp;
        scePaf_63B24F4D (var22, var14, var23);
        var26 = sp;
        scePaf_809A4F83 (var26, 0x00000040, "anim_camera_target_%02d", var2);
        var29 = *((int *) 0x00020EAC);
        var30 = sp;
        scePaf_63B24F4D (var29, var18, var30);
        __asm__ ("lwc1       $fpr12, -4408($v0);");
        scePaf_33096E46 (var14, 0x00000064, 0x00017D6C, var18);
        ra = ((int *) sp)[20];
      }
    }
  }
  else
  goto label26;
  var3 = ((int *) sp)[19];
  var4 = ((int *) sp)[18];
  var5 = ((int *) sp)[17];
  var6 = ((int *) sp)[16];
  sp = sp + 0x00000060;
  return;
}

/**
 * Subroutine at address 0x00017ED8
 */
void sub_17ED8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  var1 = *((int *) 0x00020F08);
  if (!(var1 == 0x00000000))
  {
    var2 = var1;
    if ((arg1 & 0x000000FF) == 0x00000000)
    {
      ((char *) var1)[510] = 0x00000000;
      ((char *) var1)[511] = 0x00000000;
      scePaf_86B41BA3 (var2);
      var13 = *((int *) 0x00020F0C);
      ((char *) var13)[510] = 0x00000000;
      ((char *) var13)[511] = 0x00000000;
    }
    else
    {
      ((char *) var1)[510] = 0x00000001;
      ((char *) var1)[511] = 0x00000001;
      scePaf_86B41BA3 (var2);
      var5 = *((int *) 0x00020F0C);
      ((char *) var5)[511] = 0x00000001;
      ((char *) var5)[510] = 0x00000001;
    }
    scePaf_86B41BA3 (var5);
    sub_1542C ();
  }
  ra = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00017F64
 */
void sub_17F64 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = *((int *) 0x00020F00);
  var2 = arg1;
  if (var1 != 0x00000000)
  {
    var46 = ((int *) var1)[0];
    var47 = ((int *) var46)[27];
    var50 var51 = (*var47) (var1, 0x00000006, var2, arg4, arg5, arg6, arg7, arg8);
  }
  else
  {
  }
  var3 = *((int *) 0x00020F0C);
  if (var3 != 0x00000000)
  {
    var40 = ((int *) var3)[0];
    var41 = ((int *) var40)[27];
    var44 var45 = (*var41) (var3, 0x00000006, var2, arg4, arg5, arg6, arg7, arg8);
  }
  else
  {
  }
  var4 = *((int *) 0x00020F14);
  if (var4 != 0x00000000)
  {
    var34 = ((int *) var4)[0];
    var35 = ((int *) var34)[27];
    var38 var39 = (*var35) (var4, 0x00000006, var2, arg4, arg5, arg6, arg7, arg8);
  }
  else
  {
  }
  var5 = *((int *) 0x00020F1C);
  if (var5 != 0x00000000)
  {
    var28 = ((int *) var5)[0];
    var29 = ((int *) var28)[27];
    var32 var33 = (*var29) (var5, 0x00000006, var2, arg4, arg5, arg6, arg7, arg8);
  }
  else
  {
  }
  var6 = *((int *) 0x00020F20);
  if (var6 != 0x00000000)
  {
    var22 = ((int *) var6)[0];
    var23 = ((int *) var22)[27];
    var26 var27 = (*var23) (var6, 0x00000006, var2, arg4, arg5, arg6, arg7, arg8);
  }
  else
  {
  }
  var7 = *((int *) 0x00020F24);
  if (var7 != 0x00000000)
  {
    var16 = ((int *) var7)[0];
    var17 = ((int *) var16)[27];
    var20 var21 = (*var17) (var7, 0x00000006, var2, arg4, arg5, arg6, arg7, arg8);
  }
  else
  {
  }
  var8 = *((int *) 0x00020F28);
  if (var8 != 0x00000000)
  {
    var10 = ((int *) var8)[0];
    var11 = ((int *) var10)[27];
    var14 var15 = (*var11) (var8, 0x00000006, var2, arg4, arg5, arg6, arg7, arg8);
    ra = ((int *) sp)[1];
  }
  else
  {
    ra = ((int *) sp)[1];
  }
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000180A0
 */
void sub_180A0 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  *((int *) 0x00020EAC) = arg1;
  scePaf_986FEBD1 (arg1, 0x000207AC);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000180C8
 */
void sub_180C8 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = *((int *) 0x00020EB8);
  if (var1 != 0x00000000)
  {
    sub_1610C (0x00000000, 0x00000000);
  }
  else
  {
    sub_158C0 ();
  }
  __asm__ ("mtc1       $zr, $fpr12;");
  var4 = *((unsigned char *) 0x00020EFA);
  sub_16B00 (var4);
  __asm__ ("mtc1       $zr, $fpr12;");
  var7 = *((unsigned char *) 0x00020EF9);
  sub_16A64 (var7);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00018128
 */
void sub_18128 ()
{
  return;
}

/**
 * Subroutine at address 0x00018130
 */
void sub_18130 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  *((int *) 0x00020EB0) = arg1;
  scePaf_986FEBD1 (arg1, 0x000207C4);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00018158
 */
void sub_18158 (int arg1, int arg2)
{
  var1 = ((unsigned short *) arg2)[2];
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  if (var1 == 0x00000400)
  {
    var5 = ((int *) arg2)[3];
    if (var5 == 0x00000001)
    {
      var9 = *((unsigned char *) 0x00020EF8);
      ra = ((int *) sp)[3];
      if (!(var9 != 0x00000000))
      {
        sub_17238 ();
        *((char *) 0x00020EF8) = var5;

      label12:
        ra = ((int *) sp)[3];
      }
    }
    else
    {
      var6 = *((unsigned char *) 0x00020EF8);
      ra = ((int *) sp)[3];
      if (!(var6 == 0x00000000))
      {
        sub_172F8 ();
        *((char *) 0x00020EF8) = 0x00000000;
        goto label12;
      }
    }
  }
  else
  goto label12;
  var2 = ((int *) sp)[2];
  var3 = ((int *) sp)[1];
  var4 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000181D8
 */
void sub_181D8 ()
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[11] = ra;
  ((int *) sp)[10] = s6;
  ((int *) sp)[9] = s5;
  ((int *) sp)[8] = s4;
  ((int *) sp)[7] = s3;
  ((int *) sp)[6] = s2;
  ((int *) sp)[5] = s1;
  ((int *) sp)[4] = s0;
  __asm__ ("swc1       $fpr21, 52($sp);"
           "swc1       $fpr20, 48($sp);"
    : 
    : "=r"(sp));
  var1 = *((int *) 0x00020EB4);
  if (var1 == 0x00000000)
  {
    var74 = *((int *) 0x00020EB0);
    scePaf_F609FA81 (var74, "page_indicator", 0x00000000, 0x00000000);
    var77 = *((int *) 0x00020EB0);
    *((int *) 0x00020EC4) = 0x00000001;
    var80 = scePaf_4708AED4 (var77, "battery");
    var81 = *((int *) 0x00020EB0);
    *((int *) 0x00020EFC) = var80;
    var84 = scePaf_4708AED4 (var81, "battery_shadow");
    var85 = *((int *) 0x00020EB0);
    *((int *) 0x00020F00) = var84;
    var88 = scePaf_4708AED4 (var85, "clock");
    var89 = *((int *) 0x00020EB0);
    *((int *) 0x00020F04) = var88;
    var92 = scePaf_4708AED4 (var89, "mute");
    var93 = *((int *) 0x00020EB0);
    *((int *) 0x00020F08) = var92;
    var96 = scePaf_4708AED4 (var93, "mute_shadow");
    var97 = *((int *) 0x00020EB0);
    *((int *) 0x00020F0C) = var96;
    var100 = scePaf_4708AED4 (var97, "hold");
    var101 = *((int *) 0x00020EB0);
    *((int *) 0x00020F10) = var100;
    var104 = scePaf_4708AED4 (var101, "hold_shadow");
    var105 = *((int *) 0x00020EFC);
    __asm__ ("lwc1       $fpr20, -4404($v1);"
             "lwc1       $fpr21, -4400($a1);");
    var106 = ((int *) var105)[0];
    *((int *) 0x00020F14) = var104;
    var107 = sp;
    __asm__ ("swc1       $fpr20, 8($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[0] = 0x00000000;
    ((int *) sp)[1] = 0x00000000;
    __asm__ ("swc1       $fpr21, 12($sp);"
      : 
      : "=r"(sp));
    var108 = ((int *) var106)[29];
    var111 var112 = (*var108) (var105, 0x00000017, var107, var106);
    var113 = *((int *) 0x00020F00);
    __asm__ ("swc1       $fpr20, 8($sp);"
      : 
      : "=r"(sp));
    var114 = sp;
    var115 = ((int *) var113)[0];
    __asm__ ("swc1       $fpr21, 12($sp);"
      : 
      : "=r"(sp));
    ((int *) sp)[0] = 0x00000000;
    ((int *) sp)[1] = 0x00000000;
    var116 = ((int *) var115)[29];
    var119 var120 = (*var116) (var113, 0x00000017, var114, var115);
    __asm__ ("lwc1       $fpr20, -4396($v1);");
    var121 = *((int *) 0x00020F04);
    __asm__ ("mov.s      $fpr12, $fpr20;");
    scePaf_33096E46 (var121, 0x00000064, 0x00014EF0, 0x00000000);
    var124 = *((int *) 0x00020F04);
    scePaf_F47CA1C2 (var124, 0x0002000C, 0x0001546C, 0x00000000);
    var127 = *((int *) 0x00020F04);
    sub_14EF0 (var127);
    var130 = *((int *) 0x00020EFC);
    __asm__ ("mov.s      $fpr12, $fpr20;");
    scePaf_33096E46 (var130, 0x00000064, 0x00015488, 0x00000000);
    var133 = *((int *) 0x00020EFC);
    sub_15488 ();
    var136 = *((int *) 0x00020F10);
    __asm__ ("mov.s      $fpr12, $fpr20;");
    scePaf_33096E46 (var136, 0x00000064, 0x0001571C, 0x00000000);
    var139 = *((int *) 0x00020F10);
    sub_1571C ();
    var142 = *((int *) 0x00020F08);
    ((char *) var142)[510] = 0x00000000;
    ((char *) var142)[511] = 0x00000000;
    scePaf_86B41BA3 (var142);
    var145 = *((int *) 0x00020F0C);
    ((char *) var145)[510] = 0x00000000;
    ((char *) var145)[511] = 0x00000000;
    scePaf_86B41BA3 (var145);
    var148 = *((int *) 0x00020EB0);
  }
  else
  {
    *((int *) 0x00020EC4) = 0x00000000;
    var2 = *((int *) 0x00020EB0);
  }
  *((char *) 0x00020EC8) = 0x00000000;
  scePaf_F609FA81 (var2, 0x0001ECF8, 0x00000000, 0x00000000);
  var5 = *((int *) 0x00020EB0);
  var8 = scePaf_DAB59652 (var5, 0x0001ECF8);
  scePaf_F47CA1C2 (var8, 0x00080004, 0x00018158, 0x00000000);
  var11 = *((int *) 0x00020EB0);
  var14 = scePaf_4708AED4 (var11, "busy_icon");
  var15 = var14;
  *((int *) 0x00020F18) = var15;
  if (var15 != 0x00000000)
  {
    ((char *) var15)[510] = 0x00000000;
    ((char *) var15)[511] = 0x00000000;
    scePaf_86B41BA3 (var15);
    var73 = *((int *) 0x00020EB0);
  }
  else
  {
    var16 = *((int *) 0x00020EB0);
  }
  var19 = scePaf_4708AED4 (var16, "busy_icon_shadow");
  var20 = var19;
  *((int *) 0x00020F1C) = var20;
  if (var20 != 0x00000000)
  {
    ((char *) var20)[510] = 0x00000000;
    ((char *) var20)[511] = 0x00000000;
    scePaf_86B41BA3 (var20);
    var70 = *((int *) 0x00020EB0);
  }
  else
  {
    var21 = *((int *) 0x00020EB0);
  }
  scePaf_F609FA81 (var21, 0x0001EBD4, 0x00000000, 0x00000000);
  var24 = *((int *) 0x00020EB0);
  var27 = scePaf_4708AED4 (var24, 0x0001EBD4);
  var28 = var27;
  if (!(var27 == 0x00000000))
  {
    var29 = ((int *) var27)[0];
    __asm__ ("mtc1       $zr, $fpr12;");
    var30 = ((int *) var29)[21];
    var33 var34 = (*var30) (var28, 0x00000001);
    var37 = scePaf_EAA5AFF6 (var28, 0x01000003);
  }
  var38 = *((int *) 0x00020EB0);
  var41 = scePaf_4708AED4 (var38, "cross_shadow");
  var42 = *((int *) 0x00020EB0);
  *((int *) 0x00020F20) = var41;
  var45 = scePaf_4708AED4 (var42, "circle_shadow");
  var46 = *((int *) 0x00020EB0);
  *((int *) 0x00020F24) = var45;
  var49 = scePaf_4708AED4 (var46, "triangle_shadow");
  *((int *) 0x00020F28) = var49;
  var52 = scePaf_5DFB5858 ();
  var53 = ((int *) var52)[36];
  sub_17BC4 (var53);
  sub_17F64 (0x00000009);
  __asm__ ("mtc1       $zr, $fpr12;");
  var58 = *((unsigned char *) 0x00020EFB);
  sub_16C94 (var58);
  ra = ((int *) sp)[11];
  var61 = ((int *) sp)[10];
  var62 = ((int *) sp)[9];
  var63 = ((int *) sp)[8];
  var64 = ((int *) sp)[7];
  var65 = ((int *) sp)[6];
  var66 = ((int *) sp)[5];
  var67 = ((int *) sp)[4];
  __asm__ ("lwc1       $fpr21, 52($sp);"
           "lwc1       $fpr20, 48($sp);");
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x000185E8
 */
void sub_185E8 ()
{
  return;
}

/**
 * Subroutine at address 0x000185F0
 */
void sub_185F0 (int arg1)
{
  sp = sp + 0xFFFFFF50;
  ((int *) sp)[35] = s3;
  ((int *) sp)[41] = ra;
  ((int *) sp)[40] = fp;
  var1 = sp + 0x00000008;
  ((int *) sp)[34] = s2;
  ((int *) sp)[32] = s0;
  var2 = arg1;
  *((int *) 0x00020EA8) = arg1;
  ((int *) sp)[39] = s7;
  ((int *) sp)[38] = s6;
  ((int *) sp)[37] = s5;
  ((int *) sp)[36] = s4;
  ((int *) sp)[33] = s1;
  scePaf_986FEBD1 (arg1, 0x00020F54);
  scePaf_72129CFB (var2, 0x00000001, 0x000207DC);
  var7 = sp;
  scePaf_458A9C95 (var7, var2, "main_module");
  var10 = sp;
  var13 = scePaf_D3D12890 (var10);
  *((int *) 0x00020EB4) = var13;
  sub_01988 (var1);
  scePaf_139D9047 (0x00017CC4);
  var18 = *((int *) 0x00020EB4);
  if (var18 != 0x00000000)
  {
    var87 = scePaf_962FA087 ();
    scePaf_D24E4016 (var87, 0x00000006, 0x00000003);
    var19 = sp + 0x00000020;
    var22 = sp + 0x0000002C;
    var27 = sp + 0x00000048;
    var28 = sp + 0x00000064;
  }
  else
  {
    var19 = sp + 0x00000020;
    scePaf_6E95EFAA (var19);
    var22 = sp + 0x0000002C;
    sub_01A8C (var19, "system_plugin_bg");
    sub_01A8C (var22, "system_plugin");
    var27 = sp + 0x00000048;
    ((int *) sp)[14] = 0x000180A0;
    ((int *) sp)[17] = 0x00018128;
    var28 = sp + 0x00000064;
    ((int *) sp)[15] = 0x000180C8;
    sub_01A8C (var27, "flash0:/vsh/resource/system_plugin_bg.rco");
    var31 = *((int *) 0x00020EA8);
    var32 = ((int *) var31)[110];
    ((int *) sp)[22] = 0x000000FD;
    ((int *) sp)[24] = var32;
    ((int *) sp)[28] = 0x0000000C;
    scePaf_88D73AED (var19, 0x00000000);
    sub_019B8 (var28);
    sub_01988 (var27);
    sub_01988 (var22);
    sub_01988 (var19);
  }
  scePaf_6E95EFAA (var19);
  sub_01A8C (var19, "system_plugin_fg");
  sub_01A8C (var22, "system_plugin");
  ((int *) sp)[14] = 0x00018130;
  ((int *) sp)[15] = 0x000181D8;
  ((int *) sp)[17] = 0x000185E8;
  sub_01A8C (var27, "flash0:/vsh/resource/system_plugin_fg.rco");
  var51 = *((int *) 0x00020EA8);
  var52 = *((int *) 0x00020EB4);
  ((int *) sp)[22] = 0x00000002;
  var53 = 0x0000000C;
  var54 = ((int *) var51)[110];
  ((int *) sp)[24] = var54;
  if (!(var52 == 0x00000000))
  {
    var53 = 0x00000004;
  }
  ((int *) sp)[28] = var53;
  scePaf_88D73AED (var19, 0x00000000);
  sub_019B8 (var28);
  sub_01988 (var27);
  sub_01988 (var22);
  sub_01988 (var19);
  var65 = sp;
  scePaf_458A9C95 (var65, var2, "theme");
  var68 = sp;
  var71 = scePaf_D3D12890 (var68);
  *((int *) 0x00020EB8) = var71;
  sub_01988 (var1);
  sub_157D4 ();
  *((int *) 0x00020EBC) = 0x00000000;
  ra = ((int *) sp)[41];
  var76 = ((int *) sp)[40];
  var77 = ((int *) sp)[39];
  var78 = ((int *) sp)[38];
  var79 = ((int *) sp)[37];
  var80 = ((int *) sp)[36];
  var81 = ((int *) sp)[35];
  var82 = ((int *) sp)[34];
  var83 = ((int *) sp)[33];
  var84 = ((int *) sp)[32];
  *((int *) 0x00020EF4) = 0xFFFFFFFF;
  *((int *) 0x00020ECC) = 0x00000000;
  *((int *) 0x00020ED4) = 0xFFFFFFFF;
  *((int *) 0x00020ED8) = 0xFFFFFFFF;
  sp = sp + 0x000000B0;
  return;
}

/**
 * Subroutine at address 0x000188AC
 */
void sub_188AC ()
{
  return;
}

/**
 * Subroutine at address 0x000188B4
 */
void sub_188B4 (int arg1, int arg2)
{
  var1 = arg2 ^ 0x0000FFFF;
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s1;
  ((int *) sp)[4] = s0;
  if (!((((var1 < 0x00000001)) & (((arg1 ^ 0x00000001) < 0x00000001))) == 0x00000000))
  {
    *((int *) 0x00020EE8) = 0x00000000;
    *((short *) 0x00020EDE) = 0x00000000;
    var2 = 0x00000002;
    *((short *) 0x00020EE0) = 0x00000000;
    *((short *) 0x00020EE2) = 0x00000000;
    *((short *) 0x00020EE4) = 0x00000000;
    *((short *) 0x00020EE6) = 0x00000000;
    *((short *) 0x00020EDC) = 0x00000000;
    var3 = 0x00020F30;
    while (1) {
      var2 = var2 + 0xFFFFFFFF;
      ((int *) var3)[0] = 0x00000000;
      ((int *) var3)[1] = 0x00000000;
      var3 = var3 + 0x0000000C;
      if (var2 != 0xFFFFFFFF)
        continue;
      break;
    }
  }
  ra = ((int *) sp)[6];
  if (!((((var1 < 0x00000001)) & ((arg1 < 0x00000001))) == 0x00000000))
  {
    if (!(0x00020F30 == 0x00000000))
    {
      var4 = 0x00020F54;
      while (1) {
        if (var4 == 0x00020F30)
          break;
        var4 = var4 + 0xFFFFFFF4;
        sub_0B3B4 (var4);
        continue;
      }
      ra = ((int *) sp)[6];
    }
  }
  var7 = ((int *) sp)[5];
  var8 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00018984
 */
void sub_18984 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_188B4 (0x00000001, 0x0000FFFF);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000189A4
 */
void sub_189A4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_188B4 (0x00000000, 0x0000FFFF);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000189C4
 */
void sub_189C4 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = *((int *) 0x00020F60);
  var2 = var1 + 0x00000001;
  *((int *) 0x00020F60) = var2;
  scePaf_C9831AFF ("_Net_Attach %d\n", var2, arg3, arg4);
  var5 = *((int *) 0x00020F60);
  if (var5 == 0x00000001)
  {
    var9 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var9, "flash0:/kd/ifhandle.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020F7C) = var9;
    var14 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var14, "flash0:/kd/pspnet.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020F84) = var14;
    var19 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var19, "flash0:/kd/pspnet_inet.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020F88) = var19;
    var24 = sceNet_39AF39A6 (0x00020000, 0x0000001E, 0x00001000, 0x0000001E, 0x00001000);
    var25 = var24;
    var26 = var24;
    if (var24 == 0x00000000)
    {
      scePaf_C9831AFF ("sceNetInit() OK.\n", var26);
      var33 = sceNetInet_17943399 ();
      var25 = var33;
      if (var33 != 0x00000000)
      {

      label29:
        scePaf_C9831AFF ("sceNetInit() failed. ret = 0x%x\n", var26);
      }
      else
      {
        scePaf_C9831AFF ("sceNetInetInit() OK.\n", var33);
      }
    }
    else
    {
      goto label29;
    }
  }
  else
  {
  }
  ra = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00018B18
 */
void sub_18B18 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[2] = s2;
  var1 = *((int *) 0x00020F60);
  ((int *) sp)[1] = s1;
  var2 = 0x00000000;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s5;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[0] = s0;
  if (var1 == 0x00000001)
  {
    var15 = sceNetInet_A9ED66B9 ();
    var2 = var15;
    if (var15 != 0x00000000)
    {

    label42:
    }
    else
    {
      scePaf_C9831AFF ("sceNetInetInit() OK.\n");
      var20 = sceNet_281928A9 ();
      var2 = var20;
      if (var20 == 0x00000000)
      {
        scePaf_C9831AFF ("sceNetTerm() OK.\n");
        var23 = *((int *) 0x00020F88);
        if (var23 != 0x00000000)
        {
          scePaf_4612DB4B (var23);
          scePaf_4E67BB08 (var23);
        }
        else
        {
        }
        var24 = *((int *) 0x00020F84);
        *((int *) 0x00020F88) = 0x00000000;
        if (var24 != 0x00000000)
        {
          scePaf_4612DB4B (var24);
          scePaf_4E67BB08 (var24);
        }
        else
        {
        }
        var25 = *((int *) 0x00020F80);
        *((int *) 0x00020F84) = 0x00000000;
        if (var25 != 0x00000000)
        {
          scePaf_4612DB4B (var25);
          scePaf_4E67BB08 (var25);
        }
        else
        {
        }
        var26 = *((int *) 0x00020F7C);
        *((int *) 0x00020F80) = 0x00000000;
        if (var26 != 0x00000000)
        {
          scePaf_4612DB4B (var26);
          scePaf_4E67BB08 (var26);
          *((int *) 0x00020F7C) = 0x00000000;
        }
        else
        {
          *((int *) 0x00020F7C) = 0x00000000;
        }

      label43:
        var3 = *((int *) 0x00020F60);
        var4 = var3 + 0xFFFFFFFF;
        *((int *) 0x00020F60) = var4;
      }
      else
      {
        goto label42;
      }
    }
  }
  else
  goto label43;
  scePaf_C9831AFF ("_Net_Detach %d\n", var4, arg3, arg4);
  ra = ((int *) sp)[6];
  var7 = ((int *) sp)[5];
  var8 = ((int *) sp)[4];
  var9 = ((int *) sp)[3];
  var10 = ((int *) sp)[2];
  var11 = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00018C8C
 */
void sub_18C8C (int arg1)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var1 = arg1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[4] = ra;
  var2 = *((int *) 0x00020F64);
  var3 = var2 + 0x00000001;
  *((int *) 0x00020F64) = var3;
  var4 = 0x00000000;
  if (var3 == 0x00000001)
  {
    var11 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var11, "flash0:/kd/memab.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020F90) = var11;
    var16 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var16, "flash0:/kd/pspnet_adhoc.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020F94) = var16;
    var21 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var21, "flash0:/kd/pspnet_adhoc_auth.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020F98) = var21;
    var26 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var26, "flash0:/kd/pspnet_adhocctl.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020F8C) = var26;
    scePaf_6829D7AF (0x00020F6C, 0x00000000, 0x00000010);
    if (var1 == 0x00000000)
    {
    }
    scePaf_FF2F98C6 (0x00020F70, var1, 0x00000009);
    var35 = sceNetAdhocctl_E26F226E (0x00080000, 0x0000001E, 0x00020F6C);
    var4 = var35;
    if (var35 == 0x00000000)
    {

    label31:
    }
    else
    {
      scePaf_C9831AFF ("sceNetAdhocctlInit() failed. ret = %d\n", var35);
    }
  }
  else
  goto label31;
  ra = ((int *) sp)[4];
  var5 = ((int *) sp)[3];
  var6 = ((int *) sp)[2];
  var7 = ((int *) sp)[1];
  var8 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00018E08
 */
void sub_18E08 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[1] = s1;
  var1 = *((int *) 0x00020F64);
  ((int *) sp)[2] = s2;
  var2 = 0x00000000;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s5;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[0] = s0;
  if (var1 == 0x00000001)
  {
    var12 = sceNetAdhocctl_9D689E13 ();
    var2 = var12;
    if (var12 != 0x00000000)
    {
      scePaf_C9831AFF ("sceNetAdhocctlTerm() failed. ret = %d\n", var12);
    }
    else
    {
    }
    var13 = *((int *) 0x00020F8C);
    if (var13 != 0x00000000)
    {
      scePaf_4612DB4B (var13);
      scePaf_4E67BB08 (var13);
    }
    else
    {
    }
    var14 = *((int *) 0x00020F98);
    *((int *) 0x00020F8C) = 0x00000000;
    if (var14 != 0x00000000)
    {
      scePaf_4612DB4B (var14);
      scePaf_4E67BB08 (var14);
    }
    else
    {
    }
    var15 = *((int *) 0x00020F94);
    *((int *) 0x00020F98) = 0x00000000;
    if (var15 != 0x00000000)
    {
      scePaf_4612DB4B (var15);
      scePaf_4E67BB08 (var15);
    }
    else
    {
    }
    var16 = *((int *) 0x00020F90);
    *((int *) 0x00020F94) = 0x00000000;
    if (var16 != 0x00000000)
    {
      scePaf_4612DB4B (var16);
      scePaf_4E67BB08 (var16);
      *((int *) 0x00020F90) = 0x00000000;
    }
    else
    {
      *((int *) 0x00020F90) = 0x00000000;
    }
  }
  var3 = *((int *) 0x00020F64);
  ra = ((int *) sp)[6];
  *((int *) 0x00020F64) = (var3 + 0xFFFFFFFF);
  var4 = ((int *) sp)[5];
  var5 = ((int *) sp)[4];
  var6 = ((int *) sp)[3];
  var7 = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00018F40
 */
void sub_18F40 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = *((int *) 0x00020F68);
  var2 = var1 + 0x00000001;
  *((int *) 0x00020F68) = var2;
  scePaf_C9831AFF ("_NetApctl_Attach %d\n", var2, arg3, arg4);
  var5 = *((int *) 0x00020F68);
  if (var5 == 0x00000001)
  {
    var9 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var9, "flash0:/kd/pspnet_apctl.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020F9C) = var9;
    var14 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var14, "flash0:/kd/pspnet_resolver.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020FA0) = var14;
    var19 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var19, "flash0:/kd/libparse_http.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020FAC) = var19;
    var24 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var24, "flash0:/kd/libparse_uri.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020FA8) = var24;
    var29 = scePaf_B7E6052B (0x00000004);
    scePaf_72A0044D (var29, "flash0:/kd/libhttp.prx", 0x00000000, 0x00000000);
    *((int *) 0x00020FA4) = var29;
    var34 = sceNetApctl_E2F91F9B (0x00008000, 0x00000021);
    var35 = var34;
    var36 = var34;
    if (var34 == 0x00000000)
    {
      scePaf_C9831AFF ("sceNetApctlInit() OK.\n", var36);
    }
    else
    {
      scePaf_C9831AFF ("sceNetApctlInit() failed. ret = %d\n", var36);
    }
  }
  else
  {
  }
  ra = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000190B4
 */
void sub_190B4 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[1] = s1;
  var1 = *((int *) 0x00020F68);
  ((int *) sp)[2] = s2;
  var2 = 0x00000000;
  ((int *) sp)[5] = ra;
  ((int *) sp)[4] = s4;
  ((int *) sp)[3] = s3;
  ((int *) sp)[0] = s0;
  if (var1 == 0x00000001)
  {
    var14 = sceNetApctl_B3EDD0EC ();
    var2 = var14;
    if (!(var14 != 0x00000000))
    {
      scePaf_C9831AFF ("sceNetApctlTerm() OK.\n", var14);
      var17 = *((int *) 0x00020FA4);
      if (var17 != 0x00000000)
      {
        scePaf_4612DB4B (var17);
        scePaf_4E67BB08 (var17);
      }
      else
      {
      }
      var18 = *((int *) 0x00020FA8);
      *((int *) 0x00020FA4) = 0x00000000;
      if (var18 != 0x00000000)
      {
        scePaf_4612DB4B (var18);
        scePaf_4E67BB08 (var18);
      }
      else
      {
      }
      var19 = *((int *) 0x00020FAC);
      *((int *) 0x00020FA8) = 0x00000000;
      if (var19 != 0x00000000)
      {
        scePaf_4612DB4B (var19);
        scePaf_4E67BB08 (var19);
      }
      else
      {
      }
      var20 = *((int *) 0x00020FA0);
      *((int *) 0x00020FAC) = 0x00000000;
      if (var20 != 0x00000000)
      {
        scePaf_4612DB4B (var20);
        scePaf_4E67BB08 (var20);
      }
      else
      {
      }
      var21 = *((int *) 0x00020F9C);
      *((int *) 0x00020FA0) = 0x00000000;
      if (var21 != 0x00000000)
      {
        scePaf_4612DB4B (var21);
        scePaf_4E67BB08 (var21);
        *((int *) 0x00020F9C) = 0x00000000;
      }
      else
      {
        *((int *) 0x00020F9C) = 0x00000000;
      }

    label43:
      var3 = *((int *) 0x00020F68);
      var4 = var3 + 0xFFFFFFFF;
      *((int *) 0x00020F68) = var4;
    }
  }
  else
  goto label43;
  scePaf_C9831AFF ("_NetApctl_Detach %d\n", var4, arg3, arg4);
  ra = ((int *) sp)[5];
  var7 = ((int *) sp)[4];
  var8 = ((int *) sp)[3];
  var9 = ((int *) sp)[2];
  var10 = ((int *) sp)[1];
  var11 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00019220
 */
int sub_19220 (int arg1)
{
  var1 = (arg1 << 0x00000001) + arg1;
  var2 = var1 - (((var1 + ((var1 >> 0x0000001F) >> 0x0000001E)) >> 0x00000002) << 0x00000002);
  var3 = 0x00000004 - var2;
  if (var2 <= 0)
  {
    var3 = 0x00000000;
  }
  else
  {
  }
  return var3;
}

/**
 * Subroutine at address 0x0001925C
 */
void sub_1925C (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFF80;
  ((int *) sp)[22] = s2;
  var1 = arg2;
  ((int *) sp)[26] = s6;
  ((int *) sp)[25] = s5;
  ((int *) sp)[24] = s4;
  var2 = arg3;
  ((int *) sp)[29] = ra;
  ((int *) sp)[28] = fp;
  ((int *) sp)[27] = s7;
  ((int *) sp)[23] = s3;
  ((int *) sp)[21] = s1;
  ((int *) sp)[20] = s0;
  var5 = scePaf_ABBBB335 (arg1, 0x0001F220);
  var6 = var5;
  if (!(var6 == 0x00000000))
  {
    ((int *) sp)[16] = (var1 << 0x00000001);
    var9 = sub_19220 (var1);
    var10 = var9;
    var11 = ((int *) sp)[16];
    ((short *) sp)[4] = 0x00000000;
    var12 = var11 + var1;
    var13 = var12 + var10;
    ((short *) sp)[0] = 0x00004D42;
    var14 = ((int *) sp)[5];
    var15 = ((int *) sp)[9];
    var16 = ((int *) sp)[1];
    var17 = ((int *) sp)[6];
    var18 = ((unsigned short *) sp)[4];
    var19 = (var13 * var2);
    var20 = ((unsigned short *) sp)[0];
    var21 = ((int *) sp)[13];
    var22 = var19 + 0x00000036;
    var23 = sp;
    ((int *) sp)[3] = 0x00280000;
    ((int *) sp)[1] = ((var16 & 0xFFFF0000) | (var22 >> 0x00000010));
    ((int *) sp)[6] = ((var17 & 0xFFFF0000) | (var2 >> 0x00000010));
    ((int *) sp)[9] = (((var15 & 0xFFFF0000) | (var19 >> 0x00000010)) & 0x0000FFFF);
    ((int *) sp)[0] = (var20 | (var22 << 0x00000010));
    ((int *) sp)[2] = (var18 | 0x00360000);
    ((int *) sp)[4] = (var1 << 0x00000010);
    ((int *) sp)[5] = ((((var14 & 0xFFFF0000) | (var1 >> 0x00000010)) & 0x0000FFFF) | (var2 << 0x00000010));
    ((int *) sp)[7] = (0x00000018 & 0x0000FFFF);
    ((int *) sp)[8] = (var19 << 0x00000010);
    ((int *) sp)[13] = (var21 & 0xFFFF0000);
    ((short *) sp)[13] = 0x00000001;
    ((short *) sp)[3] = 0x00000000;
    ((int *) sp)[10] = 0x00000000;
    ((int *) sp)[11] = 0x00000000;
    ((int *) sp)[12] = 0x00000000;
    scePaf_F1552447 (var23, 0x00000036, 0x00000001, var6);
    var28 = scePaf_F13EBB78 (var19);
    var29 = var2 + 0xFFFFFFFF;
    var30 = var28;
    var31 = var28;
    if (!(var29 < 0))
    {
      var32 = (var29 * var1);
      while (1) {
        if (!(((0x00000000 < var1)) == 0x00000000))
        {
          var33 = (var32 << 0x00000002) + arg4;
          var34 = var31;
          var35 = var1;
          while (1) {
            var36 = ((unsigned char *) var33)[2];
            var35 = var35 + 0xFFFFFFFF;
            ((char *) var34)[0] = var36;
            var37 = ((unsigned char *) var33)[1];
            ((char *) var34)[1] = var37;
            var38 = ((unsigned char *) var33)[0];
            var33 = var33 + 0x00000004;
            ((char *) var34)[2] = var38;
            var34 = var34 + 0x00000003;
            if (var35 != 0x00000000)
              continue;
            break;
          }
        }
        if (((0x00000000 < var10)) == 0x00000000)
        {
          var29 = var29 + 0xFFFFFFFF;
        }
        else
        {
          var39 = var12 + var31;
          var40 = var10;
          while (1) {
            var40 = var40 + 0xFFFFFFFF;
            ((char *) var39)[0] = 0x00000000;
            var39 = var39 + 0x00000001;
            if (var40 != 0x00000000)
              continue;
            break;
          }
          var29 = var29 + 0xFFFFFFFF;
        }
        var31 = var31 + var13;
        var32 = var32 + (0x00000000 - var1);
        if (var29 >= 0)
          continue;
        break;
      }
    }
    var41 = ((int *) sp)[16];
    scePaf_F1552447 (var30, (((var41 + var1) + var10) * var2), 0x00000001, var6);
    if (!(var30 == 0x00000000))
    {
      scePaf_B3D2C3BB (var30);
    }
    scePaf_83944053 (var6);
  }
  ra = ((int *) sp)[29];
  var48 = ((int *) sp)[28];
  var49 = ((int *) sp)[27];
  var50 = ((int *) sp)[26];
  var51 = ((int *) sp)[25];
  var52 = ((int *) sp)[24];
  var53 = ((int *) sp)[23];
  var54 = ((int *) sp)[22];
  var55 = ((int *) sp)[21];
  var56 = ((int *) sp)[20];
  sp = sp + 0x00000080;
  return;
}

/**
 * Subroutine at address 0x000194D4
 */
void sub_194D4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[13] = ra;
  ((int *) sp)[12] = s0;
  var1 = ((int *) arg2)[11];
  var2 = ((int *) arg2)[12];
  ((int *) sp)[0] = var1;
  ((int *) sp)[1] = var2;
  ((int *) sp)[4] = var1;
  ((int *) sp)[5] = var2;
  var5 var6 = scePaf_3D451DE8 (arg2, 0x00000001);
  var7 = ((int *) sp)[0];
  var8 = ((int *) sp)[1];
  ((int *) sp)[9] = var6;
  ((int *) sp)[8] = var5;
  sub_1925C (arg1, var7, var8, var5);
  ra = ((int *) sp)[13];
  var11 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00019534
 */
void sub_19534 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1925C (arg1, 0x00000200, 0x00000110, 0x04000000);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019558
 */
void vsh_5452A47B (int arg1, int arg2)
{
  var1 = arg1;
  sp = sp + 0xFFFFFFE0;
  ((int *) arg1)[0] = 0x0001F2A8;
  ((int *) var1)[2] = 0x00000000;
  ((int *) var1)[3] = 0x00000000;
  ((int *) var1)[4] = 0x00000000;
  ((int *) var1)[5] = 0x00000000;
  ((int *) var1)[6] = 0x00000000;
  ((int *) var1)[7] = 0x00000000;
  ((int *) arg1)[1] = 0x00000000;
  ((int *) sp)[4] = s0;
  var2 = arg1 + 0x00000020;
  ((int *) sp)[5] = s1;
  ((int *) sp)[6] = ra;
  var3 = sp;
  sub_05C38 (var2);
  sub_19B28 (var2, arg2);
  ra = ((int *) sp)[6];
  var8 = ((int *) sp)[5];
  var9 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00019638
 */
void vsh_0F2F6718 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) arg1)[1] = arg2;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  var4 = scePaf_D4FAE7D0 ("system_plugin");
  ((int *) var1)[2] = var4;
  if (var4 != 0x00000000)
  {
    var18 = scePaf_338C3774 (var4, 0x00000001);
    ((int *) var1)[4] = var18;
  }
  var7 = scePaf_D4FAE7D0 ("topmenu_plugin");
  ((int *) var1)[3] = var7;
  if (var7 != 0x00000000)
  {
    var15 = scePaf_338C3774 (var7, 0x00000001);
    ((int *) var1)[5] = var15;
  }
  var8 = ((int *) var1)[1];
  ((int *) var1)[7] = 0x00000000;
  var9 = ((int *) var8)[21];
  ((int *) var1)[6] = var9;
  sub_19B5C ((var1 + 0x00000020));
  ra = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x000196CC
 */
void vsh_61FE226A (int arg1)
{
  ((int *) arg1)[7] = 0x00000000;
  ((int *) arg1)[1] = 0x00000000;
  ((int *) arg1)[2] = 0x00000000;
  ((int *) arg1)[3] = 0x00000000;
  ((int *) arg1)[4] = 0x00000000;
  ((int *) arg1)[5] = 0x00000000;
  ((int *) arg1)[6] = 0x00000000;
  return;
}

/**
 * Subroutine at address 0x000196EC
 */
void vsh_7ADF6A69 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  var2 = ((int *) arg1)[1];
  scePaf_27F64616 (var2);
  ((int *) var1)[7] = 0x00000000;
  sub_19B5C ((var1 + 0x00000020));
  ra = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019724
 */
void vsh_0B8DE38E (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var1 = ((int *) arg1)[0];
  var2 = ((int *) var1)[4];
  var5 var6 = (*var2) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
  var7 = ((int *) arg1)[5];
  var8 = ((int *) var7)[0];
  var11 var12 = (*var8) (arg2);
  ra = ((int *) sp)[2];
  var13 = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019770
 */
void vsh_5E43E468 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[10] = s2;
  var1 = arg1 + 0x00000020;
  ((int *) sp)[9] = s1;
  var2 = arg2;
  ((int *) sp)[8] = s0;
  var3 = arg1;
  var4 = sp;
  ((int *) sp)[11] = ra;
  var5 = ((int *) var1)[1];
  if (var5 == 0x00000000)
  {

  label6:
    ((int *) sp)[0] = 0x00000000;
    ((int *) sp)[1] = 0x00000000;
    sub_01A8C (var4, arg2);
    var35 = sp;
    sub_19BE4 (var1, var35);
    var38 = sp;
    sub_01988 (var38);
    var41 = ((int *) var3)[1];
  }
  else
  {
    var6 = ((int *) var3)[8];
    var7 = ((int *) (var6 + (((var5 << 0x00000001) + var5) << 0x00000002)))[1073741821];
    var10 = scePaf_66FE90D7 (var7, arg2);
    var4 = sp;
    arg2 = var2;
    if (var10 != 0x00000000)
      goto label6;
    var11 = ((int *) var3)[1];
  }
  scePaf_F609FA81 (var11, var2, 0x00000000, 0x00000000);
  var14 = ((int *) var3)[1];
  var17 = scePaf_DAB59652 (var14, var2);
  var18 = var2;
  if (var17 == 0x00000000)
  {
    var25 = ((int *) var1)[1];
    var26 = ((int *) var3)[8];
    var27 = ((int *) (var26 + (((var25 << 0x00000001) + var25) << 0x00000002)))[1073741821];
    var30 = scePaf_66FE90D7 (var27, var18);
    if (var30 != 0x00000000)
    {

    label27:
      ra = ((int *) sp)[11];
    }
    else
    {
      sub_19C78 (var1);
      ra = ((int *) sp)[11];
    }
  }
  else
  {
    ((int *) var3)[7] = var17;
    var19 = ((int *) var3)[1];
    scePaf_CAF05F1D (var19, var18);
    goto label27;
  }
  var22 = ((int *) sp)[10];
  var23 = ((int *) sp)[9];
  var24 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x0001987C
 */
void vsh_0E20CEEC (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = arg1;
  ((int *) sp)[0] = s0;
  var2 = arg1 + 0x00000020;
  ((int *) sp)[2] = ra;
  var3 = ((int *) var2)[1];
  var4 = ((var3 << 0x00000001) + var3) << 0x00000002;
  if (((var3 < 0x00000002)) == 0x00000000)
  {
    var13 = ((int *) arg1)[8];
    var14 = ((int *) arg1)[1];
    var15 = ((int *) (var13 + var4))[1073741821];
    scePaf_3481F595 (var14, var15);
    sub_19C78 (var2);
    var20 = ((int *) var2)[1];
    var21 = ((int *) var1)[8];
    var22 = ((int *) var1)[1];
    var23 = ((int *) (var21 + (((var20 << 0x00000001) + var20) << 0x00000002)))[1073741821];
    var26 = scePaf_DAB59652 (var22, var23);
    if (var26 == 0x00000000)
    {
      ((int *) var1)[7] = 0x00000000;

    label16:
      ra = ((int *) sp)[2];
    }
    else
    {
      ((int *) var1)[7] = var26;
      var27 = ((int *) var1)[1];
      scePaf_CAF05F1D (var27, var23);
      ra = ((int *) sp)[2];
    }
  }
  else
  {
    var5 = ((int *) arg1)[0];
    var6 = ((int *) var5)[5];
    var9 var10 = (*var6) (arg1, 0x00000002, var4, arg4, arg5, arg6, arg7, arg8);
    goto label16;
  }
  var11 = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019940
 */
void vsh_1A62E6EA (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFD0;
  ((int *) sp)[10] = s2;
  var1 = arg1 + 0x00000020;
  ((int *) sp)[9] = s1;
  ((int *) sp)[8] = s0;
  var2 = arg1;
  ((int *) sp)[11] = ra;
  var3 = ((int *) var1)[1];
  var4 = arg2;
  if (var3 != 0x00000000)
  {
    var42 = ((int *) var2)[8];
    var43 = ((int *) (var42 + (((var3 << 0x00000001) + var3) << 0x00000002)))[1073741821];
    var44 = ((int *) var2)[1];
    scePaf_3481F595 (var44, var43);
    sub_19C78 (var1);
    var3 = ((int *) var1)[1];
  }
  if (var3 == 0x00000000)
  {

  label13:
    var32 = sp;
    ((int *) sp)[0] = 0x00000000;
    ((int *) sp)[1] = 0x00000000;
    sub_01A8C (var32, var4);
    var35 = sp;
    sub_19BE4 (var1, var35);
    var38 = sp;
    sub_01988 (var38);
    var41 = ((int *) var2)[1];
  }
  else
  {
    var5 = ((int *) var2)[8];
    var6 = ((int *) (var5 + (((var3 << 0x00000001) + var3) << 0x00000002)))[1073741821];
    var9 = scePaf_66FE90D7 (var6, var4);
    if (var9 != 0x00000000)
    {
      goto label13;
    }
    else
    {
      var10 = ((int *) var2)[1];
    }
  }
  scePaf_F609FA81 (var10, var4, 0x00000000, 0x00000000);
  var13 = ((int *) var2)[1];
  var16 = scePaf_DAB59652 (var13, var4);
  var17 = var4;
  if (var16 == 0x00000000)
  {
    var24 = ((int *) var1)[1];
    var25 = ((int *) var2)[8];
    var26 = ((int *) (var25 + (((var24 << 0x00000001) + var24) << 0x00000002)))[1073741821];
    var29 = scePaf_66FE90D7 (var26, var17);
    if (var29 != 0x00000000)
    {
      ra = ((int *) sp)[11];
    }
    else
    {
      sub_19C78 (var1);
      ra = ((int *) sp)[11];
    }
  }
  else
  {
    ((int *) var2)[7] = var16;
    var18 = ((int *) var2)[1];
    scePaf_CAF05F1D (var18, var17);
    ra = ((int *) sp)[11];
  }
  var21 = ((int *) sp)[10];
  var22 = ((int *) sp)[9];
  var23 = ((int *) sp)[8];
  sp = sp + 0x00000030;
  return;
}

/**
 * Subroutine at address 0x00019A84
 */
void vsh_D0A3A365 (int arg1)
{
  sp = sp + 0xFFFFFFC0;
  ((int *) sp)[14] = s2;
  ((int *) sp)[13] = s1;
  var1 = arg1 + 0x00000020;
  ((int *) sp)[12] = s0;
  var2 = arg1;
  ((int *) sp)[15] = ra;
  var3 = ((int *) var1)[1];
  scePaf_C9831AFF ("----- dump [%d] -----------------V--\n", var3, arg3, arg4);
  var6 = ((int *) var2)[8];
  ((int *) sp)[4] = var6;
  ((int *) sp)[0] = var6;
  while (1) {
    var7 = ((int *) var1)[1];
    var8 = ((int *) sp)[0];
    var9 = var6 + (((var7 << 0x00000001) + var7) << 0x00000002);
    ((int *) sp)[4] = var9;
    if (var8 == var9)
      break;
    var10 = ((int *) var8)[0];
    scePaf_C9831AFF ("\t%s\n", var10, var6);
    var13 = ((int *) sp)[0];
    var6 = ((int *) var2)[8];
    ((int *) sp)[0] = (var13 + 0x0000000C);
    ((int *) sp)[8] = var13;
    continue;
  }
  scePaf_C9831AFF ("----- dump ----------------------A--\n", var8, var6);
  ra = ((int *) sp)[15];
  var16 = ((int *) sp)[14];
  var17 = ((int *) sp)[13];
  var18 = ((int *) sp)[12];
  sp = sp + 0x00000040;
  return;
}

/**
 * Subroutine at address 0x00019B28
 */
void sub_19B28 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[2];
  if (((var1 < arg2)) != 0x00000000)
  {
    sub_19CEC (arg1, arg2);
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019B5C
 */
void sub_19B5C (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[3] = ra;
  ((int *) sp)[2] = s2;
  ((int *) sp)[1] = s1;
  var2 = ((int *) arg1)[0];
  ra = ((int *) sp)[3];
  if (!(var2 == 0x00000000))
  {
    var3 = ((int *) var1)[1];
    var4 = 0x00000000;
    var5 = 0x00000000;
    if (!(var3 <= 0))
    {
      while (1) {
        sub_01988 ((var2 + var5));
        var8 = ((int *) var1)[1];
        var4 = var4 + 0x00000001;
        var5 = var5 + 0x0000000C;
        if (((var4 < var8)) == 0x00000000)
          break;
        var2 = ((int *) var1)[0];
        continue;
      }
      var9 = ((int *) var1)[0];
    }
    scePaf_7EC15225 (var9);
    ((int *) var1)[2] = 0x00000000;
    ((int *) var1)[0] = 0x00000000;
    ((int *) var1)[1] = 0x00000000;
    ra = ((int *) sp)[3];
  }
  var12 = ((int *) sp)[2];
  var13 = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019BE4
 */
void sub_19BE4 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  var1 = ((int *) arg1)[1];
  var2 = ((int *) arg1)[2];
  var3 = arg1;
  if (((var2 < (var1 + 0x00000001))) != 0x00000000)
  {
    sub_19CEC (arg1, (var2 + 0x0000000A));
    var1 = ((int *) var3)[1];
  }
  var4 = ((int *) var3)[0];
  var5 = var4 + (((var1 << 0x00000001) + var1) << 0x00000002);
  if (!(var5 == 0x00000000))
  {
    ((int *) var5)[0] = 0x00000000;
    ((int *) var5)[1] = 0x00000000;
    sub_01ADC (var5, arg2);
    var1 = ((int *) var3)[1];
  }
  ((int *) var3)[1] = (var1 + 0x00000001);
  ra = ((int *) sp)[2];
  var8 = ((int *) sp)[1];
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019C78
 */
void sub_19C78 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  var2 = ((int *) arg1)[1];
  var3 = ((int *) arg1)[0];
  sub_01988 (((var3 + (((var2 << 0x00000001) + var2) << 0x00000002)) + 0xFFFFFFF4));
  var6 = ((int *) var1)[1];
  var7 = ((int *) var1)[2];
  var8 = var6 + 0xFFFFFFFF;
  ((int *) var1)[1] = var8;
  if (((var8 < (var7 + 0xFFFFFFEC))) != 0x00000000)
  {
    sub_19CEC (var1, (var7 + 0xFFFFFFF6));
    ra = ((int *) sp)[1];
  }
  else
  {
    ra = ((int *) sp)[1];
  }
  var9 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019CEC
 */
void sub_19CEC (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[3] = s3;
  var1 = arg2;
  ((int *) sp)[2] = s2;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s5;
  ((int *) sp)[4] = s4;
  ((int *) sp)[1] = s1;
  ((int *) sp)[0] = s0;
  var2 = ((int *) arg1)[0];
  var3 = arg1;
  if (var2 != 0x00000000)
  {
    var15 = scePaf_FCB4E053 ((((arg2 << 0x00000001) + arg2) << 0x00000002));
    var16 = ((int *) var3)[1];
    var17 = var15;
    var18 = 0x00000000;
    if (var16 <= 0)
    {
      var19 = ((int *) var3)[0];
    }
    else
    {
      var19 = ((int *) var3)[0];
      var20 = 0x00000000;
      var21 = var17 + 0x00000000;
      while (1) {
        var18 = var18 + 0x00000001;
        var20 = var20 + 0x0000000C;
        if (!(var21 == 0x00000000))
        {
          ((int *) var21)[0] = 0x00000000;
          ((int *) var21)[1] = 0x00000000;
          sub_01ADC (var21, (var19 + var20));
          var19 = ((int *) var3)[0];
          var16 = ((int *) var3)[1];
        }
        if (!(((var18 < var16)) != 0x00000000))
          break;
        var21 = var17 + var20;
        continue;
      }
    }
    var24 = 0x00000000;
    var25 = 0x00000000;
    if (!(var16 <= 0))
    {
      while (1) {
        sub_01988 ((var19 + var25));
        var28 = ((int *) var3)[1];
        var24 = var24 + 0x00000001;
        var25 = var25 + 0x0000000C;
        if (((var24 < var28)) == 0x00000000)
          break;
        var19 = ((int *) var3)[0];
        continue;
      }
      var19 = ((int *) var3)[0];
    }
    scePaf_7EC15225 (var19);
    ((int *) var3)[2] = var1;
    ((int *) var3)[0] = var17;
  }
  else
  {
    var6 = scePaf_FCB4E053 ((((arg2 << 0x00000001) + arg2) << 0x00000002));
    ((int *) var3)[0] = var6;
    ((int *) var3)[2] = var1;
  }
  ra = ((int *) sp)[6];
  var7 = ((int *) sp)[5];
  var8 = ((int *) sp)[4];
  var9 = ((int *) sp)[3];
  var10 = ((int *) sp)[2];
  var11 = ((int *) sp)[1];
  var12 = ((int *) sp)[0];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x00019E10
 */
void sub_19E10 (int arg1)
{
  ((int *) arg1)[0] = 0x0001F2A8;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_05C48 ((arg1 + 0x00000020));
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019E38
 */
void sub_19E38 (int arg1)
{
  ((int *) arg1)[0] = 0x0001F2A8;
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  sub_05C48 ((arg1 + 0x00000020));
  scePaf_4E67BB08 (arg1);
  ra = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019E74
 */
void sub_19E74 (int arg1)
{
  var1 = ((int *) arg1)[1];
  return;
}

/**
 * Subroutine at address 0x00019E7C
 */
void sub_19E7C (int arg1)
{
  var1 = ((int *) arg1)[2];
  return;
}

/**
 * Subroutine at address 0x00019E84
 */
void sub_19E84 (int arg1)
{
  var1 = ((int *) arg1)[3];
  return;
}

/**
 * Subroutine at address 0x00019E8C
 */
void sub_19E8C (int arg1)
{
  var1 = ((int *) arg1)[4];
  return;
}

/**
 * Subroutine at address 0x00019E94
 */
void sub_19E94 (int arg1)
{
  var1 = ((int *) arg1)[5];
  return;
}

/**
 * Subroutine at address 0x00019E9C
 */
void sub_19E9C (int arg1)
{
  var1 = ((int *) arg1)[6];
  return;
}

/**
 * Subroutine at address 0x00019EA4
 */
void sub_19EA4 (int arg1)
{
  var1 = ((int *) arg1)[7];
  return;
}

/**
 * Subroutine at address 0x00019EAC
 */
void sub_19EAC (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[1];
  scePaf_F609FA81 (var1, arg2, 0x00000000, 0x00000000);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019ED0
 */
void sub_19ED0 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[1];
  scePaf_CAF05F1D (var1, arg2);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019EEC
 */
void sub_19EEC (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[1];
  scePaf_3481F595 (var1, arg2);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019F08
 */
void sub_19F08 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[1];
  var4 = scePaf_DAB59652 (var1, arg2);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x00019F24
 */
void sub_19F24 (int arg1, int arg2, int arg3, int arg4)
{
  *((int *) 0x00020FCC) = arg2;
  var1 = arg1;
  *((int *) 0x00020FD0) = arg3;
  sp = sp + 0xFFFFFFE0;
  *((int *) 0x00020FD4) = arg4;
  *((int *) 0x00020FD8) = 0x00000000;
  ((int *) sp)[4] = s0;
  *((int *) 0x00020FBC) = 0x00000000;
  *((int *) 0x00020FC0) = 0x00000000;
  ((int *) sp)[5] = ra;
  *((int *) 0x00020FC4) = 0x00000000;
  *((int *) 0x00020FC8) = 0x00000000;
  *((int *) 0x00020FB8) = var1;
  if ((var1 & 0x00000001) != 0x00000000)
  {
    var16 = ThreadManForUser_E81CAF8F ("SceVshMediaDetectMS", 0x0001A404, 0x00000000);
    var17 = var16;
    var18 = sp;
    *((int *) 0x00020FB0) = var17;
    var3 = var17;
    if (var17 < 0)
    {

    label22:
      ra = ((int *) sp)[5];
    }
    else
    {
      ((int *) sp)[0] = var17;
      var21 = IoFileMgrForUser_54F5FB11 ("fatms0:", 0x02415821, var18, 0x00000004, 0x00000000, 0x00000000);
      var3 = var21;
      if (var21 >= 0)
      {

      label10:
        var2 = *((int *) 0x00020FB8);
        if ((var2 & 0x00000002) != 0x00000000)
        {
          var7 = ThreadManForUser_E81CAF8F ("SceVshMediaDetectUMD", 0x0001A4B0, 0x00000000);
          *((int *) 0x00020FB4) = var7;
          var3 = var7;
          if (var7 < 0)
            goto label22;
          var10 = sceUmdUser_AEE7404D (var7);
          var3 = var10;
          if (var10 < 0)
            goto label22;
          var13 = sceUmdUser_C6183D47 (0x00000001, "disc0:");
          var3 = var13;
          if (var13 >= 0)
          {

          label21:
            var3 = 0x00000000;
            goto label22;
          }
          else
          {
            ra = ((int *) sp)[5];
          }
        }
        else
        goto label21;
      }
      else
      {
        ra = ((int *) sp)[5];
      }
    }
  }
  else
  goto label10;
  var4 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0001A07C
 */
void sub_1A07C ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[4] = s0;
  ((int *) sp)[6] = ra;
  ((int *) sp)[5] = s1;
  var1 = *((int *) 0x00020FB8);
  if ((var1 & 0x00000001) != 0x00000000)
  {
    var17 = *((int *) 0x00020FB0);
    var18 = sp;
    ((int *) sp)[0] = var17;
    var21 = IoFileMgrForUser_54F5FB11 ("fatms0:", 0x02415822, var18, 0x00000004, 0x00000000, 0x00000000);
    if (var21 < 0)
    {
      scePaf_C9831AFF ("failed to unregister. 0x%x\n", var21);
    }
    var22 = *((int *) 0x00020FB0);
    var25 = ThreadManForUser_EDBA5844 (var22);
    if (var25 >= 0)
    {
      var2 = *((int *) 0x00020FB8);
    }
    else
    {
      scePaf_C9831AFF ("failed to detete callback. 0x%x\n", var25);
      var2 = *((int *) 0x00020FB8);
    }
  }
  else
  {
    var2 = *((int *) 0x00020FB8);
  }
  if ((var2 & 0x00000002) != 0x00000000)
  {
    var5 = *((int *) 0x00020FB4);
    var8 = sceUmdUser_BD2BDE07 (var5);
    if (var8 < 0)
    {
      scePaf_C9831AFF ("failed to unregister. 0x%x\n", var8);
    }
    var9 = *((int *) 0x00020FB4);
    var12 = ThreadManForUser_EDBA5844 (var9);
    if (var12 >= 0)
    {
      ra = ((int *) sp)[6];
    }
    else
    {
      scePaf_C9831AFF ("failed to detete callback. 0x%x\n", var12);
      ra = ((int *) sp)[6];
    }
  }
  else
  {
    ra = ((int *) sp)[6];
  }
  var3 = ((int *) sp)[5];
  var4 = ((int *) sp)[4];
  sp = sp + 0x00000020;
  return;
}

/**
 * Subroutine at address 0x0001A184
 */
int sub_1A184 ()
{
  var1 = *((int *) 0x00020FC0);
  return var1;
}

/**
 * Subroutine at address 0x0001A190
 */
void sub_1A190 ()
{
  var1 = *((int *) 0x00020FBC);
  return;
}

/**
 * Subroutine at address 0x0001A19C
 */
void sub_1A19C ()
{
  var1 = *((int *) 0x00020FC4);
  return;
}

/**
 * Subroutine at address 0x0001A1A8
 */
int sub_1A1A8 ()
{
  var1 = *((int *) 0x00020FC8);
  return var1;
}

/**
 * Subroutine at address 0x0001A1B4
 */
void sub_1A1B4 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = *((int *) 0x00020FBC);
  ((int *) sp)[0] = s0;
  var2 = arg1;
  ((int *) sp)[2] = ra;
  if (!(var2 == var1))
  {
    scePaf_A69BABE3 (0x00000401, arg1, var1);
    var5 = *((int *) 0x00020FC4);
    *((int *) 0x00020FBC) = var2;
    *((int *) 0x00020FC4) = (var5 + 0x00000001);
  }
  ra = ((int *) sp)[2];
  var6 = ((int *) sp)[1];
  var7 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A214
 */
void sub_1A214 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = s1;
  var1 = *((int *) 0x00020FC0);
  ((int *) sp)[0] = s0;
  var2 = arg1;
  ((int *) sp)[2] = s2;
  ((int *) sp)[3] = ra;
  if (!(var2 == var1))
  {
    scePaf_A69BABE3 (0x00000400, arg1, var1);
    var5 = *((int *) 0x00020FC8);
    *((int *) 0x00020FC0) = var2;
    *((int *) 0x00020FC8) = (var5 + 0x00000001);
  }
  var6 = *((int *) 0x00020FCC);
  ra = ((int *) sp)[3];
  if (!(var6 == 0x00000000))
  {
    var7 = *((int *) 0x00020FC0);
    if (!(var7 == 0x00000001))
    {
      var10 var11 = (*var6) (var7, var6);
      *((int *) 0x00020FCC) = 0x00000000;
      ra = ((int *) sp)[3];
    }
  }
  var12 = ((int *) sp)[2];
  var13 = ((int *) sp)[1];
  var14 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A2A8
 */
void sub_1A2A8 ()
{
  return;
}

/**
 * Subroutine at address 0x0001A2B0
 */
void sub_1A2B0 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (((arg2 < 0x00000002)) == 0x00000000)
  {
    sub_1A214 (0x00000000);
  }
  sub_1A214 (0x00000001);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A2E8
 */
void sub_1A2E8 ()
{
  return;
}

/**
 * Subroutine at address 0x0001A2F0
 */
void sub_1A2F0 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1A214 (0x00000000);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A30C
 */
void sub_1A30C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1A5B0 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A328
 */
void sub_1A328 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg4;
  ((int *) sp)[1] = ra;
  if (((arg2 < 0x00000003)) == 0x00000000)
  {
    sub_1A214 (0x00000000);
  }
  else
  {
  }
  if (var1 == 0x80020321)
  {
    scePaf_C9831AFF ("MediaDetect_CheckUMDStatus returned 0x%x\n", 0x80020321, arg3, arg4);
    var2 = 0x00000000;
  }
  else
  {
    var2 = 0x00000002;
    if (!(var1 < 0))
    {
      var2 = var1;
    }
  }
  sub_1A214 (var2);
  ra = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A39C
 */
void sub_1A39C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sub_1A5B0 ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A3B8
 */
void sub_1A3B8 (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  if (arg4 == 0x80020321)
  {
    scePaf_C9831AFF ("MediaDetect_CheckUMDStatus returned 0x%x\n", 0x80020321, arg3, arg4);
    var1 = 0x00000000;
  }
  else
  {
    var1 = 0x00000002;
    if (!(arg4 < 0))
    {
      var1 = arg4;
    }
  }
  sub_1A214 (var1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A404
 */
void sub_1A404 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) sp)[1] = ra;
  if (arg2 == 0x00000001)
  {
    var11 = *((int *) 0x00020FD0);
    if (var11 != 0x00000000)
    {
      var17 var18 = (*var11) (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
      var12 = (var1 < 0x00000002);
    }
    else
    {
      var12 = (var1 < 0x00000002);
    }
    if (var12 == 0x00000000)
    {
      sub_1A1B4 (0x00000000);
      var2 = 0x00000002;
    }
    else
    {
      var2 = 0x00000002;
    }
  }
  else
  {
    var2 = 0x00000003;
    if (arg2 == 0x00000002)
    {
      var6 = *((int *) 0x00020FD4);
      if (var6 != 0x00000000)
      {
        var9 var10 = (*var6) (0x00000003, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
        var2 = 0x00000000;
      }
      else
      {
        var2 = 0x00000000;
      }
    }
  }
  sub_1A1B4 (var2);
  ra = ((int *) sp)[1];
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A4B0
 */
void sub_1A4B0 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[1] = ra;
  ((int *) sp)[0] = s0;
  if ((arg2 & 0x00000020) != 0x00000000)
  {

  label7:

  label17:
    var13 = scePaf_A0ED77C4 (0x00000001, 0x0001A39C, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001A3B8);
    ra = ((int *) sp)[1];
  }
  else
  {
    if ((arg2 & 0x00000002) != 0x00000000)
    {
      goto label7;
    }
    else
    {
      if ((arg2 & 0x00000001) != 0x00000000)
      {

      label16:
        goto label17;
      }
      else
      {
        if ((arg2 & 0x00000008) != 0x00000000)
        {
          var10 = sceUmdUser_46EBB729 ();
          if (var10 <= 0)
          {

          label20:
            var1 = *((int *) 0x00020FCC);
            if (var1 != 0x00000000)
            {
              var3 = *((int *) 0x00020FC0);
              var6 var7 = (*var1) (var3, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
              *((int *) 0x00020FCC) = 0x00000000;
            }
            ra = ((int *) sp)[1];
          }
          else
          {
            goto label16;
          }
        }
        else
        goto label20;
      }
    }
  }
  var2 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A594
 */
void sub_1A594 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  IoFileMgrForUser_810C4BC3 (arg1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A5B0
 */
void sub_1A5B0 ()
{
  sp = sp + 0xFFFFFF20;
  var1 = sp;
  ((int *) sp)[48] = s0;
  ((int *) sp)[54] = ra;
  ((int *) sp)[53] = s5;
  ((int *) sp)[52] = s4;
  ((int *) sp)[51] = s3;
  ((int *) sp)[50] = s2;
  ((int *) sp)[49] = s1;
  var4 = IoFileMgrForUser_54F5FB11 ("umd0:", 0x01F20001, 0x00000000, 0x00000000, var1, 0x00000008);
  var5 = var4;
  if (var4 < 0)
  {

  label26:
    scePaf_C9831AFF ("open UMD_DATA.BIN failed - 0x%x\n", var5);
    var9 = var5;
  }
  else
  {
    var6 = ((int *) sp)[1];
    if ((var6 & 0x00007070) == 0x00000000)
    {
      scePaf_C9831AFF ("no known media type : 0x%x\n", var6);
      var9 = 0x00000002;
    }
    else
    {
      var7 = *((int *) 0x00020FD8);
      ((int *) sp)[44] = 0x00000000;
      if (var7 != 0x00000000)
      {
        var68 = sp + 0x000000B0;
        var71 var72 = (*var7) (var6, var68);
        var8 = ((int *) sp)[44];
      }
      else
      {
        var8 = ((int *) sp)[44];
      }
      var9 = 0x00000008;
      if (!(var8 == 0x00000000))
      {
        var10 = var6 & 0x00000070;
        if (!((var6 & 0x00001000) == 0x00000000))
        {
          var10 = var10 | 0x00000010;
        }
        if ((var6 & 0x00002000) != 0x00000000)
        {
          var10 = var10 | 0x00000040;
        }
        if ((var6 & 0x00004000) != 0x00000000)
        {
          var10 = var10 | 0x00000020;
        }
        var13 = IoFileMgrForUser_109F50BC ("disc0:/UMD_DATA.BIN", 0x00000001, 0x00000000);
        var5 = var13;
        if (var13 < 0)
        {
          goto label26;
        }
        else
        {
          var14 = sp + 0x00000010;
          ((int *) sp)[17] = var5;
          ((int *) sp)[16] = 0x0001A594;
          var17 = IoFileMgrForUser_6A638D83 (var13, var14, 0x00000030);
          var18 = var17;
          if (var17 < 0)
          {
            var60 = ((int *) sp)[16];
            if (var60 == 0x00000000)
            {
              var9 = var18;
            }
            else
            {
              var61 = ((int *) sp)[17];
              var64 var65 = (*var60) (var61);
              var9 = var18;
            }
          }
          else
          {
            if (((var17 < 0x00000030)) != 0x00000000)
            {
              var54 = ((int *) sp)[16];
              if (var54 == 0x00000000)
              {
                var9 = 0x00000002;
              }
              else
              {
                var55 = ((int *) sp)[17];
                var58 var59 = (*var54) (var55);
                var9 = 0x00000002;
              }
            }
            else
            {
              var19 = ((int *) sp)[16];
              if (var19 != 0x00000000)
              {
                var49 = ((int *) sp)[17];
                var52 var53 = (*var19) (var49);
                var20 = ((int *) sp)[44];
              }
              else
              {
                var20 = ((int *) sp)[44];
              }
              var21 = 0x00000000;
              var22 = 0x00000000;
              var23 = 0x00000021;
              var24 = var20 & 0x00001010;
              var25 = var14 + 0x00000021;
              while (1) {
                var26 = ((char *) var25)[0];
                if (var26 == 0x00000047)
                {
                  if (var21 != 0x00000000)
                  {
                    var22 = var22 | 0x00000010;
                  }
                  else
                  {
                    if (var24 != 0x00000000)
                    {
                      var21 = 0x00000047;
                    }
                    var22 = var22 | 0x00000010;
                  }

                label70:
                  var23 = var23 + 0x00000001;
                }
                else
                {
                  if (((var26 < 0x00000048)) == 0x00000000)
                  {
                    if (var26 != 0x00000056)
                    {
                      var23 = var23 + 0x00000001;
                    }
                    else
                    {
                      if (var21 != 0x00000000)
                      {
                        var22 = var22 | 0x00000020;
                      }
                      else
                      {
                        if ((var20 & 0x00004020) != 0x00000000)
                        {
                          var21 = 0x00000056;
                        }
                        var22 = var22 | 0x00000020;
                      }
                      goto label70;
                    }
                  }
                  else
                  {
                    if (var26 == 0x00000041)
                    {
                      if (var21 != 0x00000000)
                      {
                        var22 = var22 | 0x00000040;
                      }
                      else
                      {
                        if ((var20 & 0x00002040) != 0x00000000)
                        {
                          var21 = 0x00000041;
                        }
                        var22 = var22 | 0x00000040;
                      }
                    }
                    goto label70;
                  }
                }
                if (!(((var23 < 0x0000002F)) != 0x00000000))
                  break;
                var25 = var14 + var23;
                continue;
              }
              var27 = ((int *) sp)[44];
              if (var10 != var22)
              {
                scePaf_C9831AFF ("mediatype mismatch : media(0x%x) != UMD_DATA.BIN(0x%x)\n", var10, var22, var24);
                var9 = 0x00000002;
              }
              else
              {
                var28 = 0x00000000;
                if (!((var27 & 0x00001010) == 0x00000000))
                {
                  var28 = 0x00000010;
                }
                if ((var27 & 0x00002040) != 0x00000000)
                {
                  var28 = var28 | 0x00000020;
                }
                if ((var27 & 0x00004020) != 0x00000000)
                {
                  var28 = var28 | 0x00000040;
                }
                if (var21 == 0x00000047)
                {
                  var28 = var28 | 0x00000100;

                label93:
                  var29 = sp + 0x00000050;
                }
                else
                {
                  if (((var21 < 0x00000048)) == 0x00000000)
                  {
                    if (var21 == 0x00000056)
                    {
                      var28 = var28 | 0x00000400;
                      goto label93;
                    }
                    else
                    {
                      var29 = sp + 0x00000050;
                    }
                  }
                  else
                  {
                    if (var21 == 0x00000041)
                    {
                      var28 = var28 | 0x00000200;
                    }
                    goto label93;
                  }
                }
                var32 = IoFileMgrForUser_ACE946E8 ("disc0:/PSP_GAME/SYSDIR/UPDATE/PARAM.SFO", var29);
                var33 = var32;
                if (var32 != 0x00000000)
                {
                  var34 = 0x00000000;
                  if (var33 == 0x80010002)
                  {

                  label100:
                    if ((var28 & 0x00000010) != 0x00000000)
                    {
                      var43 = IoFileMgrForUser_ACE946E8 ("disc0:/PSP_GAME/PARAM.SFO", var29);
                      var44 = var43;
                      if (var43 == 0x00000000)
                      {

                      label109:
                        var9 = var28;
                      }
                      else
                      {
                        var9 = var44;
                        if (!(var44 != 0x80010002))
                        {
                          var28 = (var28 & 0xFFFFFFEF) & 0xFFFFFEFF;
                          if (var34 != 0x00000000)
                            goto label109;
                          scePaf_C9831AFF ("param.sfo files don't exist.\n", var10, var22);
                          var9 = 0x00000004;
                        }
                      }
                    }
                    else
                    goto label109;
                  }
                  else
                  {
                    var9 = var33;
                  }
                }
                else
                {
                  var34 = 0x00000001;
                  var28 = var28 | 0x00000080;
                  goto label100;
                }
              }
            }
          }
        }
      }
    }
  }
  ra = ((int *) sp)[54];
  var35 = ((int *) sp)[53];
  var36 = ((int *) sp)[52];
  var37 = ((int *) sp)[51];
  var38 = ((int *) sp)[50];
  var39 = ((int *) sp)[49];
  var40 = ((int *) sp)[48];
  sp = sp + 0x000000E0;
  return;
}

/**
 * Subroutine at address 0x0001A92C
 */
void sub_1A92C (int arg1)
{
  *((int *) 0x00020FD8) = arg1;
  return;
}

/**
 * Subroutine at address 0x0001A938
 */
void sub_1A938 ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  sceVshCommonUtil_EDED68FB ();
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001A954
 */
int sub_1A954 ()
{
  sp = sp + 0xFFFFFFB0;
  ((int *) sp)[17] = ra;
  ((int *) sp)[16] = s0;
  var3 = IoFileMgrForUser_109F50BC ("disc0:/PSP_GAME/PARAM.SFO", 0x00000001, 0x00000000);
  if (!(var3 < 0))
  {
    var4 = sp + 0x00000020;
    ((int *) sp)[0] = 0x0001A594;
    ((int *) sp)[1] = var3;
    var7 = sceVshCommonUtil_E55CADD9 (var3, var4);
    var8 = var7;
    if (var7 == 0x00000000)
    {
      var18 = ((int *) sp)[8];
      var19 = sp + 0x00000024;
      ((int *) sp)[4] = 0x0001A938;
      ((int *) sp)[5] = var18;
      var22 = sceVshCommonUtil_2D564AF6 (var18, "AB_FLAG", var19);
      var8 = var22;
      if (var22 != 0x00000000)
      {

      label21:
        scePaf_C9831AFF ("sceSystemFileGetValue failed : 0x%x\n", var8);
        var53 = ((int *) sp)[4];

      label25:
        if (var53 == 0x00000000)
        {
          var11 = ((int *) sp)[0];
        }
        else
        {
          var54 = ((int *) sp)[5];
          var57 var58 = (*var53) (var54);
          var11 = ((int *) sp)[0];
        }

      label45:
        if (var11 != 0x00000000)
        {
          var13 = ((int *) sp)[1];
          var16 var17 = (*var11) (var13);
          var3 = var8;
        }
        else
        {
          var3 = var8;
        }
      }
      else
      {
        var23 = ((int *) sp)[8];
        var24 = ((int *) sp)[9];
        var25 = sp + 0x00000028;
        var26 = sp + 0x0000002C;
        var27 = sp + 0x00000030;
        var30 = sceVshCommonUtil_6B332472 (var23, var24, var25, var26, var27);
        var8 = var30;
        if (var30 != 0x00000000)
        {
          goto label21;
        }
        else
        {
          var31 = ((int *) sp)[11];
          var32 = ((int *) sp)[12];
          if (var31 != 0x00000004)
          {

          label30:
            scePaf_C9831AFF ("value size check failed (value_size = %d, value_area_size=%d)\n", var31, var32);
            var35 = ((int *) sp)[4];
            if (var35 != 0x00000000)
            {
              var42 = ((int *) sp)[5];
              var45 var46 = (*var35) (var42);
              var36 = ((int *) sp)[0];
            }
            else
            {
              var36 = ((int *) sp)[0];
            }
            if (var36 != 0x00000000)
            {
              var37 = ((int *) sp)[1];
              var40 var41 = (*var36) (var37);
              var3 = 0xFFFFFFFF;
            }
            else
            {
              var3 = 0xFFFFFFFF;
            }
          }
          else
          {
            if (!(var32 == var31))
              goto label30;
            var47 = ((int *) sp)[8];
            var48 = ((int *) sp)[9];
            var49 = sp + 0x00000034;
            var52 = sceVshCommonUtil_F857F095 (var47, var48, var49);
            var8 = var52;
            if (var52 != 0x00000000)
              goto label21;
            var53 = ((int *) sp)[4];
            var8 = ((int *) sp)[13];
            goto label25;
          }
        }
      }
    }
    else
    {
      scePaf_C9831AFF ("sceSystemFileLoadIndex failed : 0x%x\n", var7);
      var11 = ((int *) sp)[0];
      goto label45;
    }
  }
  ra = ((int *) sp)[17];
  var12 = ((int *) sp)[16];
  sp = sp + 0x00000050;
  return var3;
}

/**
 * Subroutine at address 0x0001AAF4
 */
void vsh_3E00F3B4 ()
{
  sp = sp + 0xFFFFFEE0;
  ((int *) sp)[68] = ra;
  ((int *) sp)[67] = s3;
  ((int *) sp)[66] = s2;
  ((int *) sp)[65] = s1;
  ((int *) sp)[64] = s0;
  var1 = *((unsigned char *) 0x00020FDC);
  var2 = 0x00000000;
  if (var1 != 0x00000000)
  {
    var9 = sceVshBridge_CE32CBEF ();
    var2 = 0xFFFFFFFF;
    if (!(var9 != 0x00000000))
    {
      var10 = sp + 0x000000F0;
      var13 = sceVshBridge_6CAEB765 (var10);
      var14 = 0xFFFFFFFF;
      if (var13 < 0)
      {

      label47:
        var2 = var14;
      }
      else
      {
        var15 = ((int *) sp)[60];
        ((int *) sp)[0] = 0x00000000;
        var16 = 0x00000000;
        ((int *) sp)[1] = 0x00000000;
        if ((((0x00000000 < var15)) & ((0x00000000 < (!var15)))) != 0x00000000)
        {
          var27 = scePaf_3586BE05 (0x00000008, 0x00004000);
          var16 = var27;
          if (var27 == 0x00000000)
          {

          label34:
          }
          else
          {
            scePaf_6829D7AF (var27, 0x00000000, 0x00004000);
            var30 = ((int *) sp)[60];
            var31 = sp + 0x00000070;
            scePaf_71712601 (var31, "%s/HIFI/%08X.MSF", "ms0:", var30);
            var34 = sp + 0x00000010;
            var37 = IoFileMgrForUser_ACE946E8 (var31, var34);
            if (var37 != 0x00000000)
            {
            }
            else
            {
              var38 = ((int *) sp)[6];
              if (((var38 < 0x00004001)) == 0x00000000)
              {
              }
              else
              {
                var41 = IoFileMgrForUser_109F50BC (var31, 0x00000001, 0x00000000);
                if (var41 < 0)
                  goto label34;
                var44 = IoFileMgrForUser_6A638D83 (var41, var16, 0x00004000);
                if (!(var44 < 0))
                {
                  if (!(((var44 < 0x00000021)) != 0x00000000))
                  {
                    ((int *) sp)[0] = (var16 + 0x00000020);
                    ((int *) sp)[1] = (var44 + 0xFFFFFFE0);
                  }
                }
                IoFileMgrForUser_810C4BC3 (var41);
              }
            }
          }
        }
        else
        goto label34;
        if ((0x00000002 - ((((var13 >> 0x00000002) & 0x00000001) < 0x00000001))) == 0x00000001)
        {
          var20 = ((int *) sp)[1];
          var21 = sp;
          if (!(var20 != 0x00000000))
          {
          }
          var24 = sceVshBridge_53BFD101 (0x00000000);
          var14 = 0xFFFFFFFF & (0x00000000 - ((0x00000000 < var24)));
        }
        else
        {
          var17 = ((int *) sp)[1];
        }
        if (var16 == 0x00000000)
        {
          var2 = var14;
        }
        else
        {
          scePaf_545FE2DA (var16);
          goto label47;
        }
      }
    }
  }
  ra = ((int *) sp)[68];
  var3 = ((int *) sp)[67];
  var4 = ((int *) sp)[66];
  var5 = ((int *) sp)[65];
  var6 = ((int *) sp)[64];
  sp = sp + 0x00000120;
  return;
}

/**
 * Subroutine at address 0x0001AC9C
 */
void vsh_4A619A1D ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = *((unsigned char *) 0x00020FDC);
  if (var1 != 0x00000000)
  {
    sceVshBridge_E5DA5E95 ();
    ra = ((int *) sp)[0];
  }
  else
  {
    ra = ((int *) sp)[0];
  }
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001ACD4
 */
void vsh_2695A5B8 (int arg1)
{
  var1 = *((unsigned char *) 0x00020FDC);
  *((char *) 0x00020FDC) = arg1;
  return;
}

/**
 * Subroutine at address 0x0001AD38
 */
void sub_1AD38 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  var1 = arg1;
  ((int *) arg1)[0] = 0x00000000;
  ((int *) arg1)[1] = 0x00000000;
  ((int *) var1)[2] = 0x00000000;
  ((int *) sp)[1] = s1;
  ((int *) sp)[2] = ra;
  *((int *) 0x00020FE0) = var1;
  var4 = scePaf_FCB4E053 (arg2);
  ((int *) var1)[0] = var4;
  if (!(var4 == 0x00000000))
  {
    ((int *) var1)[1] = arg2;
  }
  ra = ((int *) sp)[2];
  var5 = ((int *) sp)[1];
  var6 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001ADA8
 */
void sub_1ADA8 (int arg1)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = ((int *) arg1)[0];
  scePaf_7EC15225 (var1);
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001ADC4
 */
void vsh_81BBD0D1 (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = ra;
  var1 = arg1;
  var2 = arg2;
  var3 = ((int *) arg1)[2];
  if (var3 != 0x00000000)
  {
    scePaf_C9831AFF ("FixedAlloc::Lock : %s already using.\n", var3, var2, arg4);
  }
  else
  {
    ((int *) var1)[2] = var2;
    var4 = ((int *) var1)[0];
  }
  ra = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001AE0C
 */
void vsh_6286E89D (int arg1)
{
  ((int *) arg1)[2] = 0x00000000;
  return;
}

/**
 * Subroutine at address 0x0001AE14
 */
void vsh_34DA1B67 ()
{
  var1 = *((int *) 0x00020FE0);
  return;
}

/**
 * Subroutine at address 0x0001AE20
 */
int vsh_182745AF (int arg1, int arg2, int arg3, int arg4)
{
  sp = sp + 0xFFFFFF80;
  ((int *) sp)[27] = s3;
  var1 = 0xFFFFFE6F;
  ((int *) sp)[26] = s2;
  var2 = arg3;
  ((int *) sp)[25] = s1;
  var3 = arg2;
  var4 = sp;
  ((int *) sp)[24] = s0;
  ((int *) sp)[28] = ra;
  if (!((((arg1 < 0x00000001)) | ((arg2 < 0x00000001))) != 0x00000000))
  {
    var7 = IoFileMgrForUser_ACE946E8 (arg1, var4);
    var1 = var7;
    if (!(var7 != 0x00000000))
    {
      var8 = ((int *) sp)[2];
      var1 = 0xFFFFFE70;
      if (!(var8 != var2))
      {
        var9 = ((int *) sp)[3];
        if (var9 == 0x00000000)
        {
          var16 = IoFileMgrForUser_109F50BC (arg1, 0x00000001, 0x000001FF);
          var1 = var16;
          if (!(var16 < 0))
          {
            var19 = IoFileMgrForUser_6A638D83 (var16, var3, var2);
            var1 = var19;
            if (!(var19 < 0))
            {
              IoFileMgrForUser_810C4BC3 (var16);
              var24 = scePaf_F0B4CAE7 (var3, "PSPsysGP", 0x00000009);
              var1 = 0x00000000;
              if (!(var24 != 0x00000000))
              {
                var27 = sceResmgr_9DC14891 (var3, var2, arg4);
                var1 = MIN (var27, var24);
              }
            }
          }
        }
      }
    }
  }
  ra = ((int *) sp)[28];
  var10 = ((int *) sp)[27];
  var11 = ((int *) sp)[26];
  var12 = ((int *) sp)[25];
  var13 = ((int *) sp)[24];
  sp = sp + 0x00000080;
  return var1;
}

/**
 * Subroutine at address 0x0001AF2C
 */
void sub_1AF2C ()
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[2] = ra;
  ((int *) sp)[1] = s1;
  var1 = *((int *) 0x0001C4CC);
  var2 = 0x0001C4CC;
  if (!(var1 == 0xFFFFFFFF))
  {
    var3 = var1;
    while (1) {
      var2 = var2 + 0xFFFFFFFC;
      var6 var7 = (*var3) (var1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
      var8 = ((int *) var2)[0];
      var3 = var8;
      if (var8 != 0xFFFFFFFF)
        continue;
      break;
    }
  }
  ra = ((int *) sp)[2];
  var9 = ((int *) sp)[1];
  var10 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

/**
 * Subroutine at address 0x0001AF84
 */
void sub_1AF84 ()
{
  sp = sp + 0xFFFFFFE0;
  ((int *) sp)[5] = ra;
  sub_00024 ();
  ra = ((int *) sp)[5];
  sp = sp + 0x00000020;
  return;
}

